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

You can be notified by email with stack.watch whenever vulnerabilities like CVE-2024-22017 are published in nodejs node.js:

 

Affected Versions

NodeJS Node: nodejs:

Exploit Probability

EPSS
0.64%
Percentile
69.97%

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.