CVE-2021-21413 json
Misuse of `Reference` and other transferable APIs may lead to access to nodejs isolate
published 2021-03-30 5 y ago modified 2026-07-08 4 mo ago also GHSA-mmhj-4w6j-76h7 , EUVD-2021-0847
- cvss
- 8.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
isolated-vm is a library for nodejs which gives you access to v8's Isolate interface. Versions of isolated-vm before v4.0.0 have API pitfalls which may make it easy for implementers to expose supposed secure isolates to the permissions of the main nodejs isolate. Reference objects allow access to the underlying reference's full prototype chain. In an environment where the implementer has exposed a Reference instance to an attacker they would be able to use it to acquire a Reference to the nodejs context's Function object. Similar application-specific attacks could be possible by modifying the local prototype of other API objects. Access to NativeModule objects could allow an attacker to load and run native code from anywhere on the filesystem. If combined with, for example, a file upload API this would allow for arbitrary code execution. This is addressed in v4.0.0 through a series of related changes.
Patch / fix
- npm isolated-vm 4.0.0
- isolated-vm_project isolated-vm 4.0.0
Exploit prediction
0.72% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.0 | CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N |
| NVD | 3.1 | 9.6 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| NVD | 2.0 | 5.8 | AV:A/AC:L/Au:N/C:P/I:P/A:P |
| GitHub | 3.1 | 8.0 | CVSS:3.1/AV:A/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | isolated-vm | <4.0.0 |
4.0.0 |
Affected products
- laverdet isolated-vm
Classification
- Weakness
-
- CWE-913 Improper Control of Dynamically-Managed Code Resources
References
-
github.com
/laverdet/isolated-vm/commit/2646e6c1558bac66285daeab54c7d490ed332b15
web, patch, third-party-advisory
-
github.com
/laverdet/isolated-vm/commit/27151bfecc260e96714443613880e3b2e6596704
web, patch, third-party-advisory
-
github.com
/laverdet/isolated-vm/security/advisories/GHSA-mmhj-4w6j-76h7
web, third-party-advisory
-
github.com
/laverdet/isolated-vm/blob/main/CHANGELOG.md#v400
web, release-notes, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2021-21413
advisory
Sources
- CVE List CVE-2021-21413
- GitHub Advisory GHSA-mmhj-4w6j-76h7
- NVD CVE-2021-21413
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.