Predictive Vulnerability Intelligence.

Product

  • Product
  • Pricing
  • Documentation

Company

  • About
  • Partnerships
  • Blog
  • Support

Legal

  • Terms
  • Privacy
  • Data Licensing

© 2026 FAUCET Technologies LLC. All rights reserved.

CVE-2024-22017

22
FAUCET Score

CVE-2024-22017 describes a privilege escalation vulnerability in libuv, affecting Node.js versions 18.18.0+, 20.4.0+, and 21. If libuv's io_uring operations are initialized before a setuid() call, the process can retain privileged access despite ostensibly dropping privileges. This vulnerability carries a CVSS score of 7.3 (HIGH), indicating a local attack vector with low complexity, requiring high privileges, and potentially leading to limited confidentiality, high integrity, and limited availability impacts. Currently, there is no evidence of active exploitation, public exploit code, or significant community discussion or media coverage surrounding this CVE.

Impacted Technologies

VendorProductVersion(s)CPE
>= 20.0, < 20.11.1CPE match
cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*
>= 21.0, < 21.6.2CPE match
cpe:2.3:a:nodejs:node.js:*:*:*:*:*:*:*:*

CVSS Data

CVSS version used by this source: 3.0

7.3HIGH

CVSS:3.0/AV:L/AC:L/PR:H/UI:N/S:C/C:L/I:H/A:L

Attack Vector
LOCAL
Attack Complexity
LOW
Privileges Required
HIGH
User Interaction
NONE
Scope
CHANGED
Confidentiality Impact
LOW
Integrity Impact
HIGH
Availability Impact
LOW
Exploitability Score
1.5
Impact Score
5.3
CvssVersion
3.0

Exploit Intelligence

EPSS Score
0.89%
Probability of exploitation in next 30 days
EPSS Percentile
55.8%
Percentile rank of EPSS score among Peer Group
As of 2026-07-28
Model: v2026.06.15
This CVE's current EPSS score of 0.0089 is in the 95th percentile among its peer group of 360 CVEs.

Social Chatter

The average CVE in this peer group has 0.0 Twitter, 0.1 Reddit, 0.2 Bluesky, 0.1 Mastodon, and 0.2 GitHub mentions.

Media Mentions

No media coverage found for this CVE.

The average CVE in this peer group has 0.3 InfoSec Media, 0.0 Vendor Blog, and 0.0 Security Researcher mentions.

Remediation

Patch Available

Vendor Patches (16)

microsoftpatch availablevia msrc
Product: azl3 libuv 1.46.0-1 on Azure Linux 3.0Fixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: azl3 nodejs 20.10.0-2 on Azure Linux 3.0Fixed in: 20.14.0-1
microsoftpatch availablevia msrc
Product: azl3 libuv 1.48.0-1 on Azure Linux 3.0Fixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: 16990-17084Fixed in: 20.14.0-1
microsoftpatch availablevia msrc
Product: 19740-17084Fixed in: 20.14.0-1
microsoftpatch availablevia msrc
Product: 17782-17084Fixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: 19922-17084Fixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: CBL Mariner 2.0 x64Fixed in: 18.20.2-1
microsoftpatch availablevia msrc
Product: CBL Mariner 2.0 ARMFixed in: 18.20.2-1
microsoftpatch availablevia msrc
Product: Azure Linux 3.0 x64Fixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: Azure Linux 3.0 x64Fixed in: 20.14.0-1
microsoftpatch availablevia msrc
Product: Azure Linux 3.0 ARMFixed in: 1.48.0-1
microsoftpatch availablevia msrc
Product: Azure Linux 3.0 ARMFixed in: 20.14.0-1
microsoftpatch availablevia msrc
Product: azl3 nodejs 20.14.0-1 on Azure Linux 3.0Fixed in: 20.14.0-1
redhatpatch availablevia redhat_api
Product: Red Hat Enterprise Linux 9Fixed in: nodejs:20-9030020240229115828.rhel9
View patch
redhatpatch availablevia redhat_api
Product: Red Hat Enterprise Linux 8Fixed in: nodejs:20-8090020240228165436.a75119d5
View patch

Vendor Advisories (3)

microsoft2024-Jun/CVE-2024-22017

CVE-2024-22017

Jun 11, 2024
microsoft2024-Mar/CVE-2024-22017Important

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.

Mar 12, 2024
redhatCVE-2024-22017Important

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

Feb 19, 2024

References

hackerone.com / reports/2170226
security.netapp.com / advisory/ntap-20240517-0007
openwall.com / lists/oss-security/2024/03/11/1