CVE-2024-22017

nodejs: setuid() does not drop all privileges due to io_uring

Published Mar 19, 2024 CVSS 3.1 · 7.3 High EPSS < 1% KEV · Not listed
Description
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.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
EUVD EUVD EUVD-2024-19623 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.
History
Type Values Removed Values Added
Metrics epss

{'score': 0.00403}

epss

{'score': 0.00414}

Type Values Removed Values Added
First Time appeared Nodejs
Nodejs nodejs
CPEs cpe:2.3:a:nodejs:nodejs:*:*:*:*:*:*:*:*
Vendors & Products Nodejs
Nodejs nodejs
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-250
Weaknesses

Sources

Status
PUBLISHED
Assigner
hackerone
Published
Updated
Apr 30, 2025, 10:25 PM
Reserved
Jan 4, 2024, 1:04 AM
Status
Deferred
Published
Mar 19, 2024, 5:15 AM
Modified
Jun 17, 2026, 7:10 AM
Severity
Important
Public date
Feb 19, 2024, 12:00 AM