CVE-2024-21896
CVE-2024-21896 is a critical-severity vulnerability in Nodejs Node.js with a CVSS 3.x base score of 9.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-27.
Key facts
- Severity: Critical (CVSS 3.x base score 9.8)
- EPSS exploit prediction: 1% (66th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2024-19507
- Weakness: CWE-27
- Affected product: Nodejs Node.js
- Published:
- Last modified:
Description
The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by the user. If the path is to be treated as a Buffer, the implementation uses Buffer.from() to obtain a Buffer from the result of path.resolve(). By monkey-patching Buffer internals, namely, Buffer.prototype.utf8Write, the application can modify the result of path.resolve(), which leads to a path traversal vulnerability. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
Frequently asked questions
- What is CVE-2024-21896?
- The permission model protects itself against path traversal attacks by calling path.resolve() on any paths given by the user. If the path is to be treated as a Buffer, the implementation uses Buffer.from() to obtain a Buffer from the result of path.resolve(). By monkey-patching Buffer internals, namely, Buffer.prototype.utf8Write, the application can modify the result of path.resolve(), which leads to a path traversal vulnerability. This vulnerability affects all users using the experimental permission model in Node.js 20 and Node.js 21. Please note that at the time this CVE was issued, the permission model is an experimental feature of Node.js.
- How severe is CVE-2024-21896?
- CVE-2024-21896 has a CVSS 3.x base score of 9.8, rated critical severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2024-21896 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 1% (66th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2024-21896?
- CVE-2024-21896 affects Nodejs Node.js. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2024-21896?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its critical severity, prioritise patching exposed systems.
- Does CVE-2024-21896 have an EU (EUVD) identifier?
- Yes. CVE-2024-21896 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2024-19507.
- When was CVE-2024-21896 published?
- CVE-2024-21896 was published on 2024-02-20 and last updated on 2026-06-17.
References
- http://www.openwall.com/lists/oss-security/2024/03/11/1
- https://hackerone.com/reports/2218653
- https://security.netapp.com/advisory/ntap-20240329-0002/
Affected products (1)
- cpe:2.3:a:nodejs:node.js:*:*:*:*:-:*:*:*
More vulnerabilities in Nodejs Node.js
- CVE-2026-21636 — Critical (CVSS 10.0): A flaw in Node.js's permission model allows Unix Domain Socket (UDS) connections to bypass network restrictions when…
- CVE-2015-0278 — Critical (CVSS 10.0): libuv before 0.10.34 does not properly drop group privileges, which allows context-dependent attackers to gain…
- CVE-2026-48930 — Critical (CVSS 9.8): A flaw in Node.js TLS hostname handling can cause Embedded-nul hostnames can lead to silent authority rebinding due to…
- CVE-2024-3566 — Critical (CVSS 9.8): A command inject vulnerability allows an attacker to perform command injection on Windows applications that indirectly…
- CVE-2023-39332 — Critical (CVSS 9.8): Various `node:fs` functions allow specifying paths as either strings or `Uint8Array` objects. In Node.js environments,…
- CVE-2023-32002 — Critical (CVSS 9.8): The use of `Module._load()` can bypass the policy mechanism and require modules outside of the policy.json definition…
All CVEs affecting Nodejs Node.js →
Other CWE-27 vulnerabilities
- CVE-2025-10438 — High (CVSS 8.6): Path Traversal: 'dir/../../filename' vulnerability in Yordam Information Technology Consulting Education and Electrical…
- CVE-2025-58761 — High (CVSS 8.6): Tautulli is a Python based monitoring and tracking tool for Plex Media Server. The `real_pms_image_proxy` endpoint in…
- CVE-2024-24809 — High (CVSS 8.5): Traccar is an open source GPS tracking system. Versions prior to 6.0 are vulnerable to path traversal and unrestricted…
- CVE-2024-43658 — High (CVSS 7.2): Patch traversal, External Control of File Name or Path vulnerability in Iocharger Home allows deletion of arbitrary…
- CVE-2023-20090 — Medium (CVSS 6.7): A vulnerability in Cisco TelePresence CE and RoomOS could allow an authenticated, local attacker to elevate privileges…
- CVE-2025-52237 — Medium (CVSS 6.5): An issue in the component /stl/actions/download?filePath of SSCMS v7.3.1 allows attackers to execute a directory…