CVE-2025-62410
Description
A sandbox escape in happy-dom allows untrusted JavaScript to run in the same V8 isolate and process as the host application. An attacker can use prototype pollution to overwrite built-in objects (for example Object.prototype) and thereby obtain privileged references such as process or require. This enables arbitrary command execution, information disclosure (access to in-process secrets and environment), and can also be used to cause denial of service (process crash or out-of-memory conditions) or exfiltrate data over the network.
Statement
The impact is IMPORTANT because disabling dynamic code generation alone does not create a separate execution context. Trusted and untrusted code still share the same global prototypes and intrinsic objects; a polluted prototype is immediately visible to the rest of the process. The flaw arises from incomplete sandboxing. The mitigation for dynamic code generation only blocks eval and Function but does not isolate execution contexts. As both trusted and untrusted scripts share prototypes in one isolate, a polluted built-in can redirect internal lookups or override constructors to expose privileged globals. This enables arbitrary command execution from within the supposedly restricted environment.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 8.3 | N/A | N/A |
| Attack Vector | Network | N/A | N/A |
| Attack Complexity | Low | N/A | N/A |
| Privileges Required | High | N/A | N/A |
| User Interaction | Required | N/A | N/A |
| Scope | Changed | N/A | N/A |
| Confidentiality | High | N/A | N/A |
| Integrity Impact | High | N/A | N/A |
| Availability Impact | Low | N/A | N/A |
Vector
Red Hat: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:L
Understanding the Weakness (CWE)
Confidentiality,Integrity,Availability
Technical Impact: Read Application Data; Modify Application Data
This weakness is usually exploited by using a special attribute of objects called proto, constructor, or prototype. Such attributes give access to the object prototype. An attacker can inject attributes that are used in other components by adding or modifying attributes of an object prototype. This creates attributes that exist on every object, or replace critical attributes with malicious ones. This can be problematic if the product depends on existence or non-existence of certain attributes, or uses pre-defined attributes of the object prototype (such as hasOwnProperty, toString, or valueOf).
Availability
Technical Impact: DoS: Crash, Exit, or Restart
An attacker can override existing attributes with ones that have incompatible type, which may lead to a crash.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.