Read the docs
TI-2026-29080 Aliases CVE-2026-40302GHSA-4fxq-2x3x-6xqx

zrok has reflected XSS in GitHub OAuth callback via unsanitized refreshInterval error rendering

Priority LOW 27CWE-116Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-79.

Summary

zrok is software for sharing web services, files, and network resources. Prior to version 2.0.1, the proxyUi template engine uses Go's text/template (which performs no HTML escaping) instead of html/template. The GitHub OAuth callback handlers in both publicProxy and dynamicProxy embed the attacker-controlled refreshInterval query parameter verbatim into an error message when time.ParseDuration fails, and render that error unescaped into HTML. An attacker can deliver a crafted login URL to a victim; after the victim completes the GitHub OAuth flow, the callback page executes arbitrary JavaScript in the OAuth server's origin. Version 2.0.1 patches the issue.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00209 11th percentileScored 2026-11-07
Fix Fixed zrok (openziti): 2.0.1github.com/openziti/zrok/v2 (Go): 2.0.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
openzitizrokbefore 2.0.12.0.1Patch availableCNA
—github.com/openziti/zrok (Go)up to 1.1.11—No fix listedGHSA-4fxq-2x3x-6xqx
—github.com/openziti/zrok/v2 (Go)before 2.0.12.0.1Patch availableGHSA-4fxq-2x3x-6xqx
  • zrok Vendoropenziti Affected before 2.0.1 Fixed in 2.0.1 Patch available CNA
  • github.com/openziti/zrok (Go) Vendor— Affected up to 1.1.11 Fixed in — No fix listed GHSA-4fxq-2x3x-6xqx
  • github.com/openziti/zrok/v2 (Go) Vendor— Affected before 2.0.1 Fixed in 2.0.1 Patch available GHSA-4fxq-2x3x-6xqx

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:netfoundry:zrok:*:*:*:*:*:*:*:*before 2.0.1VulnerableNetfoundry
  • cpe:2.3:a:netfoundry:zrok:*:*:*:*:*:*:*:* Versions before 2.0.1 Vulnerable ·Netfoundry

Remediation

  • Fix · CNA zrok (openziti) Fixed in 2.0.1
  • Fix · GHSA-4fxq-2x3x-6xqx github.com/openziti/zrok/v2 (Go) Fixed in 2.0.1 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-40302
  2. 2026-10-03 Alias added: GHSA-4fxq-2x3x-6xqx

References

  • TI-2026-33317 zrok Python ProxyShare can be used as an SSRF proxy through absolute URL paths CVSS 4.0CRITICAL 9.9
  • TI-2025-20335 Cross Site Scripting potential in Ziti Console CVSS 3.1HIGH 8.2
  • TI-2026-41883 OpenZiti - Privilege Escalation to Admin via Unauthorized Enrollment Creation CVSS 4.0HIGH 8.7
  • TI-2026-30586 zrok: WebDAV drive backend follows symlinks outside DriveRoot, enabling host filesystem read/write CVSS 3.1HIGH 8.7
  • TI-2026-29081 zrok allows unauthenticated DoS via unbounded memory allocation in striped session cookie parsing CVSS 3.1HIGH 7.5
  • TI-2026-33325 zrok copy writes attacker-controlled WebDAV paths outside the destination root CVSS 4.0HIGH 8.3
See all 8 →

Sources