Vulnerability · Published Apr 17, 2026 · Assigned by GitHub_M
CVE-2026-40302zrok has reflected XSS in GitHub OAuth callback via unsanitized refreshInterval error rendering
Medium 6.1
In plain English
A medium-severity cross-site scripting in zrok from openziti. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
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.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Go | github.com/openziti/zrok | no fix listed | GHSA-4fxq-2x3x-6xqx |
| Go | github.com/openziti/zrok | no fix listed | GO-2026-5118 |
| Go | github.com/openziti/zrok/v2 | 2.0.1 | GHSA-4fxq-2x3x-6xqx |
| Go | github.com/openziti/zrok/v2 | 2.0.1 | GO-2026-5118 |
Affected products (as reported)
Weakness: CWE-79, CWE-116 · Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
References
- https://github.com/openziti/zrok/security/advisories/GHSA-4fxq-2x3x-6xqx x_refsource_CONFIRM
- https://github.com/openziti/zrok/releases/tag/v2.0.1 x_refsource_MISC