CVE-2026-33943
Happy DOM ECMAScriptModuleCompiler: unsanitized export names are interpolated as executable code
- State
- Published
- Severity
- 8.8 High
- Published
- Mar 27, 2026
- Updated
- Jul 15, 2026
- Reserved
- Mar 24, 2026
Description
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. In versions 15.10.0 through 20.8.7, a code injection vulnerability in `ECMAScriptModuleCompiler` allows an attacker to achieve Remote Code Execution (RCE) by injecting arbitrary JavaScript expressions inside `export { }` declarations in ES module scripts processed by happy-dom. The compiler directly interpolates unsanitized content into generated code as an executable expression, and the quote filter does not strip backticks, allowing template literal-based payloads to bypass sanitization. Version 20.8.8 fixes the issue.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 8.8 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | GitHub_M |
| 3.1 | 8.8 High | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H | redhat-SADP |
Weaknesses
Affected Products
| Product | Versions |
|---|---|
happy-domcapricorn86 |
|
References
- https://github.com/capricorn86/happy-dom/security/advisories/GHSA-6q6h-j7hj-3r64
- https://github.com/capricorn86/happy-dom/commit/5437fdf8f13adb9590f9f52616d9f69c3ee8db3c
- https://github.com/capricorn86/happy-dom/releases/tag/v20.8.8
- https://access.redhat.com/security/cve/CVE-2026-33943vdb-entry
- RHBZ#2452522issue-tracking
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-33943.json
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.