Impact
The vulnerability arises because zrok’s Python SDK ProxyShare Flask route accepts an absolute URL in the request path and passes it to urllib.parse.urljoin, allowing the requested path to replace the configured target host. This results in requests.request returning a server‑side response from the attacker‑chosen URL. Consequently, an attacker can initiate outbound requests from the zrok host to arbitrary destinations, potentially exposing internal services or acquiring sensitive information. Classified as CWE‑22, this path manipulation flaw leads to a server‑side request forgery (SSRF).
Affected Systems
The vulnerability is present in all instances of openziti zrok prior to version 2.0.3. Any installation that exposes the ProxyShare endpoint without the recent fix is susceptible. Users of older releases must therefore verify their installed version and consider corrective action.
Risk and Exploitability
The CVSS score of 9.9 indicates a critical severity, while the EPSS score of < 1% suggests a low but non‑zero chance of exploitation in the wild. The flaw can be exploited without special privileges, simply by making a request to the ProxyShare endpoint with an absolute URL. Because the vulnerability is not listed in the CISA KEV catalog, no confirmed public exploits are documented, but the high severity warrants prompt remediation.
OpenCVE Enrichment
Github GHSA