Skip to content
OpenAdvisories
Medium · 6.1 CVE-2026-40302 EUVD-2026-23547GHSA-4fxq-2x3x-6xqxGO-2026-5118

zrok has reflected XSS in GitHub OAuth callback via unsanitized refreshInterval error rendering

Published Apr 17, 2026 · Updated Apr 18, 2026 · Assigned by GitHub_M

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 products

VendorProductAffectedFixed
openziti zrok < 2.0.1 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/openziti/zrok <= 1.1.11 — GHSA-4fxq-2x3x-6xqx
Go github.com/openziti/zrok all versions — GO-2026-5118
Go github.com/openziti/zrok/v2 < 2.0.1 2.0.1 GHSA-4fxq-2x3x-6xqx

Advisories 1

References