Node.js up to 20.11.0/21.6.1 Experimental Permission Model path traversal
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.3 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Node.js up to 20.11.0/21.6.1. It has been classified as critical. Affected by this vulnerability is an unknown functionality of the component Experimental Permission Model. Performing a manipulation results in path traversal. This vulnerability was named CVE-2024-21896. The attack needs to be approached locally. There is no available exploit.
Details
A vulnerability classified as critical has been found in Node.js up to 20.11.0/21.6.1 (JavaScript Library). This affects an unknown code block of the component Experimental Permission Model. The manipulation with an unknown input leads to a path traversal vulnerability. CWE is classifying the issue as CWE-22. The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory. This is going to have an impact on confidentiality, integrity, and availability. The summary by CVE is:
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.
The weakness was presented 02/20/2024. The advisory is shared at hackerone.com. This vulnerability is uniquely identified as CVE-2024-21896 since 01/03/2024. It demands that the victim is doing some kind of user interaction. Neither technical details nor an exploit are publicly available. MITRE ATT&CK project uses the attack technique T1006 for this issue.
The vulnerability scanner Nessus provides a plugin with the ID 216256 (Oracle Linux 8 : nodejs:20 (ELSA-2025-1351)), which helps to determine the existence of the flaw in a target environment.
There is no information about possible countermeasures known. It may be suggested to replace the affected object with an alternative product.
The vulnerability is also documented in the vulnerability database at Tenable (216256). If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 6.3VulDB Meta Temp Score: 6.3
VulDB Base Score: 4.8
VulDB Temp Score: 4.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
CNA Base Score: 7.9
CNA Vector (HackerOne): 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
Exploiting
Class: Path traversalCWE: CWE-22
CAPEC: 🔍
ATT&CK: 🔍
Physical: Partially
Local: Yes
Remote: Partially
Availability: 🔍
Status: Not defined
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 216256
Nessus Name: Oracle Linux 8 : nodejs:20 (ELSA-2025-1351)
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: no mitigation knownStatus: 🔍
0-Day Time: 🔍
Timeline
01/03/2024 🔍02/20/2024 🔍
02/20/2024 🔍
04/19/2025 🔍
Sources
Advisory: hackerone.comStatus: Not defined
CVE: CVE-2024-21896 (🔍)
GCVE (CVE): GCVE-0-2024-21896
GCVE (VulDB): GCVE-100-254133
Entry
Created: 02/20/2024 07:53Updated: 04/19/2025 15:54
Changes: 02/20/2024 07:53 (48), 08/27/2024 19:09 (16), 02/14/2025 11:49 (2), 04/19/2025 15:54 (3)
Complete: 🔍
Cache ID: 216::103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.
No comments yet. Languages: en.
Please log in to comment.