// For flags

CVE-2024-22018

nodejs: fs.lstat bypasses permission model

Severity Score

2.9
*CVSS v3

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track
*SSVC
Descriptions

A vulnerability has been identified in Node.js, affecting users of the experimental permission model when the --allow-fs-read flag is used.
This flaw arises from an inadequate permission model that fails to restrict file stats through the fs.lstat API. As a result, malicious actors can retrieve stats from files that they do not have explicit read access to.
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.

Se ha identificado una vulnerabilidad en Node.js que afecta a los usuarios del modelo de permisos experimental cuando se utiliza el indicador --allow-fs-read. Este fallo surge de un modelo de permisos inadecuado que no logra restringir las estadísticas de archivos a través de la API fs.lstat. Como resultado, los actores malintencionados pueden recuperar estadísticas de archivos a los que no tienen acceso de lectura explícito. Esta vulnerabilidad afecta a todos los usuarios que utilizan el modelo de permiso experimental en Node.js 20 y Node.js 21. Tenga en cuenta que en el momento en que se emitió este CVE, el modelo de permiso es una característica experimental de Node.js.

A flaw was found in the Node.js package. This flaw arises from an inadequate permission model that fails to restrict file stats through the fs.lstat API. As a result, malicious actors can retrieve stats from files they do not have explicit read access to.

A vulnerability has been identified in Node.js, affecting users of the experimental permission model when the --allow-fs-read flag is used. This flaw arises from an inadequate permission model that fails to restrict file stats through the fs.lstat API. As a result, malicious actors can retrieve stats from files that they do not have explicit read access to. 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.

Multiple vulnerabilities have been discovered in Node.js, the worst of which could lead to execution of arbitrary code. Versions greater than or equal to 22.4.1 are affected.

*Credits: N/A
CVSS Scores
Attack Vector
Local
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None
Attack Vector
Local
Attack Complexity
Low
Authentication
Single
Confidentiality
Partial
Integrity
None
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Track
Exploitation
None
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-01-04 CVE Reserved
  • 2024-07-10 CVE Published
  • 2025-04-30 CVE Updated
  • 2025-07-01 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 4.0 < 4.*
Search vendor "NodeJS" for product "Node" and version " >= 4.0 < 4.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 5.0 < 5.*
Search vendor "NodeJS" for product "Node" and version " >= 5.0 < 5.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 6.0 < 6.*
Search vendor "NodeJS" for product "Node" and version " >= 6.0 < 6.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 7.0 < 7.*
Search vendor "NodeJS" for product "Node" and version " >= 7.0 < 7.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 8.0 < 8.*
Search vendor "NodeJS" for product "Node" and version " >= 8.0 < 8.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 9.0 < 9.*
Search vendor "NodeJS" for product "Node" and version " >= 9.0 < 9.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 10.0 < 10.*
Search vendor "NodeJS" for product "Node" and version " >= 10.0 < 10.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 11.0 < 11.*
Search vendor "NodeJS" for product "Node" and version " >= 11.0 < 11.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 12.0 < 12.*
Search vendor "NodeJS" for product "Node" and version " >= 12.0 < 12.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 13.0 < 13.*
Search vendor "NodeJS" for product "Node" and version " >= 13.0 < 13.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 14.0 < 14.*
Search vendor "NodeJS" for product "Node" and version " >= 14.0 < 14.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 15.0 < 15.*
Search vendor "NodeJS" for product "Node" and version " >= 15.0 < 15.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 16.0 < 16.*
Search vendor "NodeJS" for product "Node" and version " >= 16.0 < 16.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 17.0 < 17.*
Search vendor "NodeJS" for product "Node" and version " >= 17.0 < 17.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 19.0 < 19.*
Search vendor "NodeJS" for product "Node" and version " >= 19.0 < 19.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 20.0.0 < 20.15.1
Search vendor "NodeJS" for product "Node" and version " >= 20.0.0 < 20.15.1"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 21.0 < 21.*
Search vendor "NodeJS" for product "Node" and version " >= 21.0 < 21.*"
en
Affected
NodeJS
Search vendor "NodeJS"
Node
Search vendor "NodeJS" for product "Node"
>= 22.0.0 < 22.4.1
Search vendor "NodeJS" for product "Node" and version " >= 22.0.0 < 22.4.1"
en
Affected