CVE-2026-40302
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.
How to fix
- netfoundry zrok2.0.1 or later
- github.com/openziti/zrok/v22.0.1 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| netfoundry zrok | v < 2.0.1 | 2.0.1 |
| github.com/openziti/zrokGo | v ≤ 1.1.11, No range specified | — |
| github.com/openziti/zrok/v2Go | v < 2.0.1 | 2.0.1 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.