CVE-2026-39457
Discovered by AISLEPUBLISHEDCWE-121
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.
CVSS Base Scores
CVSS v3.1(Primary)
7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected Products
| Vendor | Product | Version | Status |
|---|---|---|---|
| FreeBSD | FreeBSD | 15.0-RELEASE | affected |
| FreeBSD | FreeBSD | 14.4-RELEASE | — |
| FreeBSD | FreeBSD | 14.3-RELEASE | — |
| FreeBSD | FreeBSD | 13.5-RELEASE | — |
Credits
- Joshua Rogers of AISLE Research Team(finder)