In short
- CVE-2026-40303 is a HIGH (CVSS 7.5) vulnerability affecting github.com/openziti/zrok, github.com/openziti/zrok/v2, zrok (netfoundry).
- Chance of exploitation in the next 30 days (EPSS): 0.45%, higher than 39.3% of all vulnerabilities.
- Fix: update to 2.0.1 or later.
Description
Summary
endpoints.GetSessionCookie parses an attacker-supplied cookie chunk count and calls make([]string, count) with no upper bound before any token validation occurs. The function is reached on every request to an OAuth-protected proxy share, allowing an unauthenticated remote attacker to trigger gigabyte-scale heap allocations per request, leading to process-level OOM termination or repeated goroutine panics. Both publicProxy and dynamicProxy are affected.
- Attack Vector: Network — exploitable via a single HTTP request with a crafted Cookie header.
- Attack Complexity: Low — no preconditions or chaining required; the attacker only needs to know the cookie name (publicly derivable from any OAuth redirect).
- Privileges Required: None — reached before JWT validation or any authentication check.
- User Interaction: None.
- Scope: Unchanged — impact is confined to the affected proxy process.
- Confidentiality Impact: None.
- Integrity Impact: None.
Availability Impact: High — sustained or concurrent requests cause OOM process termination, taking down the proxy for all users of all shares it serves.
Affected Components
- endpoints/oauthCookies.go — GetSessionCookie (line 81)
- endpoints/publicProxy/authOAuth.go — handleOAuth (line 50) — call site, pre-auth
- endpoints/dynamicProxy/cookies.go — getSessionCookie (line 29) — call site
NVD description
zrok is software for sharing web services, files, and network resources. Prior to version 2.0.1, endpoints.GetSessionCookie parses an attacker-supplied cookie chunk count and calls make([]string, count) with no upper bound before any token validation occurs. The function is reached on every request to an OAuth-protected proxy share, allowing an unauthenticated remote attacker to trigger gigabyte-scale heap allocations per request, leading to process-level OOM termination or repeated goroutine panics. Both publicProxy and dynamicProxy are affected. Version 2.0.1 patches the issue.
More vulnerabilities in github.com/openziti/zrok
See all →Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free