Node.js 18+ Setuid Bypass via libuv io_uring Pre-Init
CVE-2024-22017 Published on March 19, 2024

setuid() does not affect libuv's internal io_uring operations if initialized before the call to setuid(). This allows the process to perform privileged operations despite presumably having dropped such privileges through a call to setuid(). This vulnerability affects all users using version greater or equal than Node.js 18.18.0, Node.js 20.4.0 and Node.js 21.

NVD

Vulnerability Analysis

Exploitation:
NONE
Automatable:
NO
Technical Impact:
TOTAL

Weakness Type

Execution with Unnecessary Privileges

The software performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.


Products Associated with CVE-2024-22017

Want to know whenever a new CVE is published for nodejs node.js? stack.watch will email you.

Affected Versions

NodeJS Node: nodejs:

Exploit Probability

EPSS
0.89%
Percentile
59.71%

EPSS (Exploit Prediction Scoring System) scores estimate the probability that a vulnerability will be exploited in the wild within the next 30 days. The percentile shows you how this score compares to all other vulnerabilities.