{"api_version":"1","generated_at":"2026-04-30T12:36:26+00:00","cve":"CVE-2026-39457","urls":{"html":"https://cve.report/CVE-2026-39457","api":"https://cve.report/api/cve/CVE-2026-39457.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-39457","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-39457"},"summary":{"title":"Stack overflow via select() file descriptor set overflow","description":"When exchanging data over a socket, libnv uses select(2) to wait for data to arrive.  However, it does not verify whether the provided socket descriptor fits in select(2)'s file descriptor set size limit of FD_SETSIZE (1024).\n\nAn attacker who is able to force a libnv application to allocate large file descriptors, e.g., by opening many descriptors and executing a program which is not careful to close them upon startup, can trigger stack corruption.  If the target application is setuid-root, then this could be used to elevate local privileges.","state":"PUBLISHED","assigner":"freebsd","published_at":"2026-04-30 09:16:03","updated_at":"2026-04-30 09:16:03"},"problem_types":["CWE-121","CWE-121 CWE-121: Stack-based Buffer Overflow"],"metrics":[],"references":[{"url":"https://security.freebsd.org/advisories/FreeBSD-SA-26:16.libnv.asc","name":"https://security.freebsd.org/advisories/FreeBSD-SA-26:16.libnv.asc","refsource":"secteam@freebsd.org","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-39457","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-39457","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 15.0-RELEASE p7 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 14.4-RELEASE p3 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 14.3-RELEASE p12 release","platforms":[]},{"source":"CNA","vendor":"FreeBSD","product":"FreeBSD","version":"affected 13.5-RELEASE p13 release","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Joshua Rogers of AISLE Research Team","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unknown","modules":["libnv"],"product":"FreeBSD","vendor":"FreeBSD","versions":[{"lessThan":"p7","status":"affected","version":"15.0-RELEASE","versionType":"release"},{"lessThan":"p3","status":"affected","version":"14.4-RELEASE","versionType":"release"},{"lessThan":"p12","status":"affected","version":"14.3-RELEASE","versionType":"release"},{"lessThan":"p13","status":"affected","version":"13.5-RELEASE","versionType":"release"}]}],"credits":[{"lang":"en","type":"finder","value":"Joshua Rogers of AISLE Research Team"}],"datePublic":"2026-04-29T19:00:00.000Z","descriptions":[{"lang":"en","value":"When exchanging data over a socket, libnv uses select(2) to wait for data to arrive.  However, it does not verify whether the provided socket descriptor fits in select(2)'s file descriptor set size limit of FD_SETSIZE (1024).\n\nAn attacker who is able to force a libnv application to allocate large file descriptors, e.g., by opening many descriptors and executing a program which is not careful to close them upon startup, can trigger stack corruption.  If the target application is setuid-root, then this could be used to elevate local privileges."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-121","description":"CWE-121: Stack-based Buffer Overflow","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-04-30T08:01:49.015Z","orgId":"63664ac6-956c-4cba-a5d0-f46076e16109","shortName":"freebsd"},"references":[{"tags":["vendor-advisory"],"url":"https://security.freebsd.org/advisories/FreeBSD-SA-26:16.libnv.asc"}],"title":"Stack overflow via select() file descriptor set overflow","x_generator":{"engine":"cvelib 1.8.0"}}},"cveMetadata":{"assignerOrgId":"63664ac6-956c-4cba-a5d0-f46076e16109","assignerShortName":"freebsd","cveId":"CVE-2026-39457","datePublished":"2026-04-30T08:01:49.015Z","dateReserved":"2026-04-28T15:08:10.626Z","dateUpdated":"2026-04-30T08:01:49.015Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-04-30 09:16:03","lastModifiedDate":"2026-04-30 09:16:03","problem_types":["CWE-121","CWE-121 CWE-121: Stack-based Buffer Overflow"],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"39457","Ordinal":"1","Title":"Stack overflow via select() file descriptor set overflow","CVE":"CVE-2026-39457","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"39457","Ordinal":"1","NoteData":"When exchanging data over a socket, libnv uses select(2) to wait for data to arrive.  However, it does not verify whether the provided socket descriptor fits in select(2)'s file descriptor set size limit of FD_SETSIZE (1024).\n\nAn attacker who is able to force a libnv application to allocate large file descriptors, e.g., by opening many descriptors and executing a program which is not careful to close them upon startup, can trigger stack corruption.  If the target application is setuid-root, then this could be used to elevate local privileges.","Type":"Description","Title":"Stack overflow via select() file descriptor set overflow"}]}}}