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.

Severity (CVSS 3.1)6.1Medium
Exploit odds (30 days)0.2%top 88.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

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

EcosystemPackageFixed inAdvisory
Gogithub.com/openziti/zrokno fix listedGHSA-4fxq-2x3x-6xqx
Gogithub.com/openziti/zrokno fix listedGO-2026-5118
Gogithub.com/openziti/zrok/v22.0.1GHSA-4fxq-2x3x-6xqx
Gogithub.com/openziti/zrok/v22.0.1GO-2026-5118

Affected products (as reported)

VendorProductVersions
openziti zrok < 2.0.1

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