CVE-2023-32002

The use of `Module._load()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module

Critical · published August 21, 2023

CVSS v3.1
9.8
EPSS
2%
Percentile
75.7
In the wild
Unconfirmed
What it is

🚨 This Node.js vulnerability lets you escape the confines of your policy.json file faster than a magician pulling a rabbit out of a hat! ⚡ Think of the policy.json as a restaurant menu that lists what's on offer. This flaw allows a sneaky diner to order items not only from the menu but also from the kitchen's secret stash, potentially accessing all sorts of unapproved dishes! With this vulnerability, an attacker could load unauthorized modules, leading to potential data breaches, unauthorized access, or even complete system compromise. It’s like giving someone the master key to your restaurant — they could walk into any room and take whatever they want!

Put simply

Think of the policy.json as a restaurant menu that lists what's on offer. This flaw allows a sneaky diner to order items not only from the menu but also from the kitchen's secret stash, potentially accessing all sorts of unapproved dishes! The issue arises from using `Module._load()`, which can bypass the restrictions set by the experimental policy mechanism in Node.js, affecting users on versions 16.x, 18.x, and 20.x.

What to do

With this vulnerability, an attacker could load unauthorized modules, leading to potential data breaches, unauthorized access, or even complete system compromise. It’s like giving someone the master key to your restaurant — they could walk into any room and take whatever they want! To protect your applications, upgrade Node.js to a secure version beyond the affected lines. Additionally, review your module loading policies and consider disabling experimental features where possible. Always monitor for updates! You've got this! Stay vigilant and patch those vulnerabilities to keep your applications safe and sound! 🛡️

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.01610 · 75.7th percentile
Published
2023-08-21T16:52Z
EPSS history
Timeline
  • 21 AUG 16:52Z
    The use of `Module._load()` can bypass the policy mechanism and require modules outside of the policy.json definition for a given module
    cvelistv5