
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-33131 is a Host header spoofing vulnerability in the H3 Node.js HTTP framework that enables middleware bypass, allowing unauthenticated attackers to access protected routes. It affects H3 versions >= 2.0.0-0 through < 2.0.1-rc.15 for Node.js, including downstream frameworks such as Nitro and Nuxt that rely on H3 for HTTP handling. The vulnerability was published on March 17, 2026, and patched on March 20, 2026. The GitHub Advisory Database assigns a CVSS v3.1 score of 7.4 (High) with Attack Complexity: High, while Feedly's threat intelligence estimates a score of 9.1 (Critical) (GitHub Advisory, Red Hat Bugzilla).
The root cause is classified as CWE-290 (Authentication Bypass by Spoofing). The vulnerability exists in H3's NodeRequestUrl class, which extends FastURL. When middleware accesses event.url, event.url.hostname, or event.url._url, it triggers the _url getter in FastURL, which constructs a NativeURL object from an href property built using unsanitized, attacker-controlled input — specifically the HTTP Host header. Because H3's router resolves the route handler before running middleware, an attacker can supply a crafted Host header (e.g., Host: localhost:3000/abchehe?) to cause the middleware path check to evaluate against the spoofed URL while the route handler still matches the actual request path, effectively bypassing any path-based authentication or authorization middleware (GitHub Advisory, Red Hat Bugzilla).
Successful exploitation allows an unauthenticated remote attacker to bypass middleware-enforced authentication or authorization controls, gaining access to protected routes and their underlying functionality. The confidentiality and integrity impacts are rated High, as an attacker could read sensitive data or perform unauthorized actions on protected endpoints. Availability is not directly impacted. Applications built on H3 that use path-based middleware guards — including those using Nitro or Nuxt — are affected, potentially exposing internal APIs, admin endpoints, or other sensitive resources (GitHub Advisory, Red Hat Bugzilla).
A public proof-of-concept (PoC) exploit is available in the GitHub Security Advisory, consisting of a simple Python script that crafts a malicious Host header to trigger the bypass. The EPSS score is approximately 0.034% (11th percentile), indicating a currently low probability of widespread exploitation within 30 days. There is no evidence of in-the-wild exploitation or threat actor attribution at this time, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (GitHub Advisory).
/internal/, /admin/).event.url, event.url.hostname, or similar URL properties in middleware (e.g., a logging middleware), which triggers the vulnerable _url getter in FastURL.Host header that includes a path suffix and query separator, e.g., Host: localhost:3000/abchehe?. This causes the middleware path check to evaluate against a URL that does not match the protected route pattern./internal/run). The route handler resolves correctly to the protected route, but the middleware path check fails against the spoofed URL, bypassing the authentication/authorization middleware.Internal OK), confirming successful middleware bypass and unauthorized access (GitHub Advisory).import requests
url = "http://localhost:3000"
headers = {
"Host": f"localhost:3000/abchehe?"
}
res = requests.get(f"{url}/internal/run", headers=headers)
print(res.text)/internal/, /admin/) with anomalous Host header values containing path segments or query characters (e.g., Host: hostname:port/somepath?).Host header value contains / or ? characters, particularly paired with requests to sensitive or restricted endpoints returning successful (2xx) responses.Upgrade H3 to version 2.0.1-rc.15 or later, which contains a patch for this issue (GitHub Advisory, Red Hat Bugzilla). As a workaround for applications that cannot immediately upgrade, avoid accessing event.url, event.url.hostname, or event.url._url directly in middleware; instead, use only sanitized string representations of the URL. Additionally, implement server-level or reverse-proxy validation of the Host header to reject requests with malformed or unexpected values before they reach the application.
The vulnerability was reported by researcher hibwyli and published by H3 maintainer pi0 on March 17, 2026. Red Hat tracked the issue via Bugzilla (Bug 2449584) and classified it as high severity. Social media posts on Bluesky noted the disclosure shortly after publication. No major media coverage or significant community controversy has been identified beyond standard vulnerability tracking (GitHub Advisory, Red Hat Bugzilla).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."