CVE-2026-39457

Stack overflow via select() file descriptor set overflow

State
Published
Severity
7.8 High
Published
Apr 30, 2026
Updated
May 1, 2026
Reserved
Apr 28, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

  • CWE-121 Stack-based Buffer Overflow

Affected Products

ProductVersions
FreeBSDFreeBSD
  • 15.0-RELEASE to before p7Affected
  • 14.4-RELEASE to before p3Affected
  • 14.3-RELEASE to before p12Affected
  • 13.5-RELEASE to before p13Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.