---
id: CVE-2025-61927
title: >-
  Happy DOM is a JavaScript implementation of a web browser without its
  graphical user interface
summary: >-
  Happy DOM is a JavaScript implementation of a web browser without its
  graphical user interface. Happy DOM v19 and lower contains a security
  vulnerability that puts the owner system at the risk of RCE (Remote Code
  Execution) attacks. A No…
severity: none
cwe:
  - CWE-94
published: '2025-10-10'
updated: '2026-10-08'
sourceUpdated: '2026-10-08T13:10:00.200'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2025-61927'
references:
  - url: >-
      https://github.com/capricorn86/happy-dom/commit/819d15ba289495439eda8be360d92a614ce22405
    label: security-advisories@github.com
  - url: >-
      https://github.com/capricorn86/happy-dom/security/advisories/GHSA-37j7-fg3j-429f
    label: security-advisories@github.com
tags:
  - nvd
epss: 0.00642
epssPercentile: 0.49152
ingestedAt: '2026-10-08T13:42:55.087Z'
---

## Overview

Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. 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. Version 20.0.0 patches the issue by changing JavaScript evaluation to be disabled by default.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
