Home

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.

PUBLISHED Reserved 2026-04-28 | Published 2026-04-30 | Updated 2026-05-01 | Assigner freebsd

Problem types

CWE-121: Stack-based Buffer Overflow

Product status

Default status
unknown

15.0-RELEASE (release) before p7
affected

14.4-RELEASE (release) before p3
affected

14.3-RELEASE (release) before p12
affected

13.5-RELEASE (release) before p13
affected

Credits

Joshua Rogers of AISLE Research Team finder

References

security.freebsd.org/advisories/FreeBSD-SA-26:16.libnv.asc vendor-advisory

cve.org (CVE-2026-39457)

nvd.nist.gov (CVE-2026-39457)

Download JSON