setuid() does not affect libuv's internal io_uring operations if initialized before the…
Key facts
- Attack vector
- Local
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Privilege escalation
- Confidentiality · integrity · availability
- Low · High · Low
- Fix status
- Fixed
Attack profile from CVSS 3.0 · CNA. Fix status from CNA and Red Hat. Impact type from CWE-250.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| NodeJS | Node | 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 14.0 and later; 15.0 and later; 16.0 and later; 17.0 and later; 19.0 and later; 20.0 to before 20.11.1; 21.0 to before 21.6.2 | 20.11.1, 21.6.2 | Patch available | CNA |
- Node VendorNodeJS Affected 4.0 and later; 5.0 and later; 6.0 and later; 7.0 and later; 8.0 and later; 9.0 and later; 10.0 and later; 11.0 and later; 12.0 and later; 13.0 and later; 14.0 and later; 15.0 and later; 16.0 and later; 17.0 and later; 19.0 and later; 20.0 to before 20.11.1; 21.0 to before 21.6.2 Fixed in 20.11.1, 21.6.2 Patch available CNA
Remediation
- Fix · CNA Node (NodeJS) Fixed in 20.11.1, 21.6.2
Red Hat 2 advisories
- RHSA-2024:1687 Released 2024-04-08 · Red Hat rating Importantnodejs:20 security update
- Red Hat Enterprise Linux AppStream (v. 8) nodejs-1:20.11.1-1.module+el8.9.0+21380+12032667.aarch64::nodejs:20, nodejs-1:20.11.1-1.module+el8.9.0+21380+12032667.ppc64le::nodejs:20, nodejs-1:20.11.1-1.module+el8.9.0+21380+12032667.s390x::nodejs:20 +20
- RHSA-2024:1688 Released 2024-04-08 · Red Hat rating Importantnodejs:20 security update
- Red Hat Enterprise Linux AppStream (v. 9) nodejs-1:20.11.1-1.module+el9.3.0+21385+bac43d5a.aarch64::nodejs:20, nodejs-1:20.11.1-1.module+el9.3.0+21385+bac43d5a.ppc64le::nodejs:20, nodejs-1:20.11.1-1.module+el9.3.0+21385+bac43d5a.s390x::nodejs:20 +20
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux AppStream (v. 8) | Fixed | RHSA-2024:1687 |
| Red Hat Enterprise Linux AppStream (v. 9) | Fixed | RHSA-2024:1688 |
Not affected: 2 products
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2024-22017
- 2026-10-03 Alias added: GHSA-vr4q-vx84-9g5x
References
More NodeJS vulnerabilities
- TI-2026-79288 Out-of-bounds write in Google Brotli decoder KEVCVSS 4.0CRITICAL 9.2
- TI-2023-23979 The HTTP/2 protocol allows a denial of service (server resource consumption) because… KEVCVSS 3.1HIGH 7.5
- TI-2024-18584 Race condition in NodeJS Node CVSS 3.0HIGH 8.2
- TI-2016-01993 The DES and Triple DES ciphers, as used in the TLS, SSH, and IPSec protocols and other… CVSS 3.1HIGH 7.5
- TI-2024-03325 Command injection vulnerability in programing languages on Microsoft Windows operating system. CVSS 3.1CRITICAL 9.8
- TI-2022-03472 X.509 Email Address Variable Length Buffer Overflow CVSS 3.1HIGH 7.5
Sources
- CVE-2024-22017 · CVE Program
- CVE-2024-22017 · NVD
- FIRST EPSS
- GHSA-vr4q-vx84-9g5x · GitHub Advisory Database · CC BY 4.0
- CVE-2024-22017 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences