CVE-2026-40302: zrok: Reflected XSS in GitHub OAuth callback via unsanitized refreshInterval error rendering
CVE-2026-40302 · Severity: medium · CVSS 6.1 · Published 2026-04-17
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.
Yes. github.com/openziti/zrok/v2 (Go): upgrade to 2.0.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
Am I affected by CVE-2026-40302?
Check whether you run github.com/openziti/zrok (Go), github.com/openziti/zrok/v2 (Go) or Netfoundry Zrok at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
github.com/openziti/zrok/v2 (Go): upgrade to 2.0.1 or later