// For flags

CVE-2023-30581

nodejs: mainModule.proto bypass experimental policy mechanism

Severity Score

7.5
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Attend
*SSVC
Descriptions

The use of __proto__ in process.mainModule.__proto__.require() can bypass the policy mechanism and require modules outside of the policy.json definition. This vulnerability affects all users using the experimental policy mechanism in all active release lines: v16, v18 and, v20. Please note that at the time this CVE was issued, the policy is an experimental feature of Node.js

El uso de __proto__ en process.mainModule.__proto__.require() puede omitir el mecanismo de políticas y requerir módulos fuera de la definición de policy.json. Esta vulnerabilidad afecta a todos los usuarios que utilizan el mecanismo de política experimental en todas las líneas de lanzamiento activas: v16, v18 y v20. Tenga en cuenta que en el momento en que se emitió este CVE, la política era una característica experimental de Node.js.

A vulnerability has been discovered in Node.js, where the use of proto in process.mainModule.proto.require() can bypass the policy mechanism and require modules outside of the policy.json definition.

This update for nodejs12 fixes the following issues. Fixed permissions policies bypass via process.mainModule. Fixed permissions policies bypass via Module._load. Fixed permissions policies impersonation using module.constructor.createRequire. Fixed permissions policies bypass via process.binding. Fixed mainModule.proto bypass. Fixed missing DiffieHellman key generation. Fixed HTTP Request Smuggling via Empty headers separated by CR.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
Attack Vector
Network
Attack Complexity
Low
Authentication
None
Confidentiality
None
Integrity
Complete
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Attend
Exploitation
None
Automatable
Yes
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2023-04-13 CVE Reserved
  • 2023-07-31 CVE Published
  • 2025-06-05 CVE Updated
  • 2025-07-06 EPSS Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-862: Missing Authorization
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.js
Search vendor "Nodejs" for product "Node.js"
>= 16.0.0 < 16.20.1
Search vendor "Nodejs" for product "Node.js" and version " >= 16.0.0 < 16.20.1"
-
Affected
Nodejs
Search vendor "Nodejs"
Node.js
Search vendor "Nodejs" for product "Node.js"
>= 18.0.0 < 18.16.1
Search vendor "Nodejs" for product "Node.js" and version " >= 18.0.0 < 18.16.1"
-
Affected
Nodejs
Search vendor "Nodejs"
Node.js
Search vendor "Nodejs" for product "Node.js"
>= 20.0.0 < 20.3.1
Search vendor "Nodejs" for product "Node.js" and version " >= 20.0.0 < 20.3.1"
-
Affected