CVE-2026-118659: @happy-dom/server-renderer: ServerRendererServer Target-Origin Bypass SSRF / Open Proxy

Published Oct 28, 2026
·
Updated

Happy DOM is a JavaScript implementation of a web browser without its graphical user interface. Prior to 21.0.2, the Happy DOM server-renderer package's ServerRendererServer accepts unauthenticated HTTP/2 requests and resolves attacker-controlled :path values against server.targetOrigin in #onIncomingRequest in packages/@happy-dom/server-renderer/src/ServerRendererServer.ts without confirming that the resolved origin remains trusted before calling fetch. A protocol-relative path can change the destination to an arbitrary HTTP or HTTPS endpoint reachable by the server, including local and internal services, and the proxy relays the fetched response headers and body to the requester. This issue is fixed in version 21.0.2.

Affected Software

1 affected component
npm/@happy-dom/server-renderer<21.0.2

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade @happy-dom/server-renderer to a version that resolves this vulnerability.

    Fixed in 21.0.2

Event History

Oct 28, 2026
CVE Published
via MITRE·08:20 PM
Data Sourced
via MITRE·08:20 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this issue?

Any unauthenticated network client that can send HTTP/2 requests to a vulnerable ServerRendererServer can exploit it. No privileges or user interaction are required.

2

What can an attacker reach through the vulnerable server?

An attacker can use a protocol-relative :path to redirect the server's fetch to arbitrary HTTP or HTTPS endpoints reachable from the server, including local and internal services. The server relays the fetched response headers and body back to the requester.

3

Are installations using version 21.0.2 affected?

No. The issue is fixed in version 21.0.2; versions prior to 21.0.2 are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203