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.

Technologies: github.com/openziti/zrok (Go), github.com/openziti/zrok/v2 (Go), Netfoundry Zrok. Vendors: Go, Netfoundry.

Quick answers

Is CVE-2026-40302 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-40302 being exploited in the wild.
How severe is CVE-2026-40302?
Medium severity, with a CVSS score of 6.1, published 17 April 2026.
Which products and versions are affected?
github.com/openziti/zrok (Go) <= 1.1.11, SEMVER:introduced=0, SEMVER:introduced=0,last_affected=1.1.11; github.com/openziti/zrok/v2 (Go) < 2.0.1, SEMVER:introduced=0,fixed=2.0.1.
Is there a fix for CVE-2026-40302?
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
    go get github.com/openziti/zrok/v2@v2.0.1

Affected products

  • github.com/openziti/zrok (Go) <= 1.1.11, SEMVER:introduced=0, SEMVER:introduced=0,last_affected=1.1.11
  • github.com/openziti/zrok/v2 (Go) < 2.0.1, SEMVER:introduced=0,fixed=2.0.1
  • Netfoundry Zrok

Identifiers

  • CVE-2026-40302
  • GHSA-4fxq-2x3x-6xqx
  • GO-2026-5118

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.