Happy DOM: VM Context Escape can lead to Remote Code Execution
CVE-2025-61927GHSA-37j7-fg3j-429f
What to do
Vendor fix available. Upgrade each affected package to the fixed version on its release line (happy-dom 20.0.0), redeploy, then verify what is actually installed.
This page has no inventory attached, so it cannot say whether you are affected. A vendor fix is not proof that your deployment is fixed.
Affected packages
npm happy-dom
- Affected
- < 20.0.0
- Fixed in
- 20.0.0
Sources
- Open Source Vulnerabilities (OSV.dev), including the GitHub Advisory Database
OSV record GHSA-37j7-fg3j-429f lists affected ranges: npm happy-dom >=0 <20.0.0 (fixed)
VerifiedObserved Structured OSV record; GitHub-reviewed advisory.
- GitHub Advisory Database and maintainer security advisories on GitHub
GitHub-reviewed advisory GHSA-37j7-fg3j-429f lists affected ranges: npm happy-dom >=0 <20.0.0
VerifiedObserved Structured GitHub Advisory Database record (type=reviewed) from the GitHub REST API.
Severity and exploitation
- Exploitation
- No confirmed exploitation recorded. Patch Next marks exploitation only from CISA KEV.
- CVSS 4.0
- 9.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P · score source
- EPSS
- CVE-2025-61927: 0.64% estimated exploitation activity in the next 30 days; percentile 50.82 (FIRST EPSS, 2026-11-03). This is a model estimate, not proof of exploitation or customer exposure.
Source description
As published by the source; long descriptions are shortened.
Escape of VM Context gives access to process level functionality Summary Happy DOM v19 and lower contains a security vulnerability that puts the owner system at the risk of RCE (Remote Code Execution) attacks. A Node.js VM Context is not an isolated environment, and if the user runs untrusted JavaScript code within the Happy DOM VM Context, it may escape the VM and get access to process level functionality. It seems like what the attacker can get control over depends on if the process is using ESM or CommonJS. With CommonJS the attacker can get hold of the require() function to import modules. Happy DOM has JavaScript evaluation enabled by default. This may not be obvious to the consumer of Happy DOM and can potentially put the user at risk if untrusted code is executed within the environment. Reproduce CommonJS (Possible to get hold of require) ESM (Not possible to get hold of import or require) Potential Impact Server-Side Rendering (SSR) Testing Frameworks Any test suite using…
Dates and revisions
- Published by the source
- Last modified by the source
- Source last checked
- Revision 3 · amended ·
Amended from ghsa record GHSA-37j7-fg3j-429f
- Revision 2 · amended ·
Reviewed OSV alias/range/CVSS4 correction; package source scopes and original publication preserved. No customer finding resolved.
- Revision 1 · created ·
Published from osv record GHSA-37j7-fg3j-429f
Agent brief
Preview the exact text before you copy it. Commands are read-only suggestions; review them before running anything.
# Patch Next advisory brief: CVE-2025-61927 Advisory: Happy DOM: VM Context Escape can lead to Remote Code Execution IDs: CVE-2025-61927, GHSA-37j7-fg3j-429f Record: https://patchnext.com/advisories/cve-2025-61927 (revision 3, source checked 26 Oct 2026, 12:38 UTC) Inventory: none attached. This brief comes from a public page and does not say whether any deployment is affected. Severity: Critical (CVSS 9.3) Exploitation: no confirmed exploitation recorded. Patch Next confirms exploitation only from CISA KEV. Vendor response: Vendor fix available; fixed versions by package: happy-dom 20.0.0. A vendor fix does not mean a deployment is fixed. ## Affected components - npm happy-dom: affected < 20.0.0; fixed in 20.0.0 ## Suggested inspection (read-only) - `npm ls happy-dom --all`: lists every installed copy and version, including transitive ones. Run in the project root after `npm ci`. ## Supported action Upgrade each affected component to a fixed version on its release line. For a transitive dependency, upgrade the parent package or add an override or constraint, then regenerate the lockfile. Redeploy every environment that ran an affected version. ## Required regression checks - Run the test suite and a production build. - Exercise the features that depend on happy-dom. - Repeat the inspection and confirm that only fixed versions remain installed. ## Rollback considerations - Keep the previous lockfile and deployment artifact. Rolling back reinstates the vulnerable version, so apply any documented mitigation while you fix forward. ## Unresolved questions - Which deployments run an affected version? - Exploitation status can change. Check again before lowering the priority. - Mark the work resolved only after the fixed version is verified in production. ## Sources - Verified: https://osv.dev/vulnerability/GHSA-37j7-fg3j-429f (OSV record GHSA-37j7-fg3j-429f lists affected ranges: npm happy-dom >=0 <20.0.0 (fixed)) - Verified: https://github.com/advisories/GHSA-37j7-fg3j-429f (GitHub-reviewed advisory GHSA-37j7-fg3j-429f lists affected ranges: npm happy-dom >=0 <20.0.0) Commands are suggestions: review each one before running it.
Loading voting…