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

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.52%
Percentile
66.58%

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.