CVE-2026-39457
HIGHStack overflow via select() file descriptor set overflow
Title source: cnaDescription
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). An 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.
References (1)
Core 1
Core References
Vendor Advisory vendor-advisory
https://security.freebsd.org/advisories/FreeBSD-SA-26:16.libnv.asc
Scores
CVSS v3
7.8
EPSS
0.0015
EPSS Percentile
4.6%
Attack Vector
LOCAL
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
no
Technical Impact
total
Details
CWE
CWE-121
Status
published
Products (8)
freebsd/freebsd
13.5 (14 CPE variants)
freebsd/freebsd
14.3 (12 CPE variants)
freebsd/freebsd
14.4 (4 CPE variants)
freebsd/freebsd
15.0 (7 CPE variants)
FreeBSD/FreeBSD
13.5-RELEASE - p13
FreeBSD/FreeBSD
14.3-RELEASE - p12
FreeBSD/FreeBSD
14.4-RELEASE - p3
FreeBSD/FreeBSD
15.0-RELEASE - p7
Published
Apr 30, 2026
Tracked Since
Apr 30, 2026