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.
Metrics
Affected Vendors & Products
References
History
Fri, 01 May 2026 12:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| CPEs | cpe:2.3:o:freebsd:freebsd:13.5:-:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:beta3:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p10:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p11:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p12:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p1:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p2:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p3:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p4:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p5:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p6:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p7:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p8:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:13.5:p9:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:-:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p10:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p11:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p1:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p2:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p3:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p4:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p5:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p6:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p7:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p8:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.3:p9:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.4:-:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.4:p1:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.4:p2:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:14.4:rc1:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:-:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p1:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p2:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p3:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p4:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p5:*:*:*:*:*:* cpe:2.3:o:freebsd:freebsd:15.0:p6:*:*:*:*:*:* |
Thu, 30 Apr 2026 14:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
Thu, 30 Apr 2026 10:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Freebsd
Freebsd freebsd |
|
| Vendors & Products |
Freebsd
Freebsd freebsd |
Thu, 30 Apr 2026 09:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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). 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. | |
| Title | Stack overflow via select() file descriptor set overflow | |
| Weaknesses | CWE-121 | |
| References |
|
Status: PUBLISHED
Assigner: freebsd
Published:
Updated: 2026-05-01T03:55:51.194Z
Reserved: 2026-04-28T15:08:10.626Z
Link: CVE-2026-39457
Updated: 2026-04-30T13:11:19.517Z
Status : Analyzed
Published: 2026-04-30T09:16:03.270
Modified: 2026-05-01T12:41:46.590
Link: CVE-2026-39457
No data.
OpenCVE Enrichment
Updated: 2026-05-02T00:30:16Z