CVE-2026-118661
Happy DOM has cookie scope forgery: no DNS-label boundary on Domain= matching , attacker origin sets victim cookies
Impact
Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. Prior to 20.14.6, Happy DOM's CookieContainer in src/cookie/CookieContainer.ts does not correctly validate or match Domain cookie attributes. It can accept a Domain unrelated to the origin setting the cookie, including a public suffix, and separately treats an unrelated suffix-sharing hostname as a match because cookieMatchesURL does not enforce a DNS-label boundary. In server-side rendering and prerendering applications that contact attacker-controlled origins and then make requests to a victim origin, these behaviors can plant and deliver a forged cookie, enabling cookie injection or session fixation. This issue is fixed in version 20.14.6.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | happy-dom | <= 20.14.5 | 20.14.6 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Capricorn86 | Happy-Dom | before 20.14.6 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-5fpq-26gf-qwcr
- https://github.com/capricorn86/happy-dom/security/advisories/GHSA-5fpq-26gf-qwcr
- https://github.com/capricorn86/happy-dom/pull/2477
- https://github.com/capricorn86/happy-dom/commit/f21dbd7d0a0c63cdd41954ba5d0f05def4e0f2b3
- https://github.com/capricorn86/happy-dom/releases/tag/v20.14.6