GitHub Advisoryadvisory · Go

GHSA-cpf9-ph2j-ccr9 zrok: Unauthenticated DoS via unbounded memory allocation in striped session cookie parsing

HIGH Published 2026-04-16 Modified 2026-04-24 Official page ↗
Aliases
CVE-2026-40303
Ecosystem
Go
Packages
github.com/openziti/zrok, github.com/openziti/zrok/v2
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-400, CWE-789
Reviewed
2026-04-16

Affected packages

• Go github.com/openziti/zrok: <= 1.1.11 (no fix yet) • Go github.com/openziti/zrok/v2: < 2.0.1 → fixed in 2.0.1

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

Related

Alias · CVE (1)

  • CVE-2026-40303 zrok is software for sharing web services, files, and network resources. vulnerability

Weakness · CWE (2)

  • CWE-400 Uncontrolled Resource Consumption weakness
  • CWE-789 Memory Allocation with Excessive Size Value weakness

References