CVE-2026-39457CWE-121

Stack overflow via select() file descriptor set overflow

High · published April 30, 2026

CVSS v3.1
7.8
EPSS
0%
Percentile
5.0
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.8 · HIGH
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00162 · 5.0th percentile
Weakness
CWE-121 · Stack-based Buffer Overflow
Published
2026-04-30T08:01Z
EPSS history
Timeline
  • 30 APR 08:01Z
    Stack overflow via select() file descriptor set overflow
    cvelistv5