CVE-2026-45576
NixOS vulnerability analysis and mitigation

Overview

CVE-2026-45576 is a path traversal vulnerability in the zrok copy command of the openziti/zrok project that allows an attacker-controlled WebDAV or zrok drive to write files outside the user's intended destination directory. When a victim runs zrok2 copy from a malicious source, the attacker can return crafted DAV href values (e.g., /../outside.txt) that bypass directory restrictions and cause files to be written to arbitrary locations on the victim's filesystem. The vulnerability affects github.com/openziti/zrok versions >= 0.4.23 and <= 1.1.11, and github.com/openziti/zrok/v2 versions < 2.0.3. It was published on May 13, 2026, and carries a CVSS v4 base score of 8.3 (High) (GitHub Advisory, zrok Advisory).

Technical details

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory — Path Traversal). When the zrok copy command syncs files from a remote WebDAV or zrok drive, it stores the DAV href values returned by the server directly into the source inventory without sanitizing path traversal sequences such as /../. These unsanitized paths are then passed to FilesystemTarget.WriteStream, which naively joins them with the target root directory, allowing the resulting path to resolve outside the intended destination. Exploitation requires no privileges on the attacker's side but does require the victim to actively initiate a zrok2 copy operation from the malicious source (user interaction: active) (GitHub Advisory, zrok Advisory).

Impact

A successful exploit allows an attacker controlling the source WebDAV or zrok drive to write arbitrary files to any location accessible by the victim's user account on the local filesystem, outside the directory the victim intended to sync into. This can lead to overwriting critical system files, application binaries, configuration files, or SSH authorized keys, potentially escalating to full code execution under the victim's credentials. The subsequent system confidentiality and integrity are both rated High, reflecting the risk of sensitive data exposure and system compromise beyond the immediate target directory (GitHub Advisory, zrok Advisory).

Exploitation steps

  1. Set up a malicious WebDAV or zrok drive: The attacker configures a WebDAV server or zrok share that they control, crafting DAV PROPFIND responses to include href values containing path traversal sequences (e.g., /../../../home/victim/.ssh/authorized_keys).
  2. Lure the victim: The attacker shares access to the malicious zrok share or WebDAV endpoint with the victim, using social engineering or a seemingly legitimate file-sharing invitation.
  3. Victim initiates copy: The victim runs zrok2 copy <attacker-share> <local-target-directory>, triggering the sync pipeline to enumerate the source inventory from the attacker-controlled server.
  4. Traversal path stored: The sync pipeline stores the malicious href paths (e.g., /../outside.txt) in the source inventory without sanitization.
  5. Arbitrary file write: FilesystemTarget.WriteStream joins the traversal path with the local target root, resolving to a location outside the intended directory and writing attacker-controlled content to that path.
  6. Achieve objective: Depending on the file overwritten (e.g., ~/.bashrc, ~/.ssh/authorized_keys, a cron script, or an application binary), the attacker may achieve persistent access or code execution under the victim's credentials (GitHub Advisory, zrok Advisory).

Indicators of compromise

  • File System: Unexpected new or modified files outside the directory specified as the zrok copy destination, particularly in home directories, SSH configuration paths (~/.ssh/authorized_keys), cron directories, or application binary paths.
  • File System: Files with timestamps matching the time of a zrok copy operation appearing in unexpected locations.
  • Logs: System or application logs showing file creation or modification events in directories not related to the intended sync target, correlated with zrok process activity.
  • Process: zrok or zrok2 process spawning file write operations to paths containing .. sequences or resolving outside the expected target directory.

Mitigation and workarounds

The patched version is github.com/openziti/zrok/v2 v2.0.3, which users should upgrade to immediately. For the v1 module (github.com/openziti/zrok), versions >= 0.4.23 through 1.1.11 are listed as affected with no patched version indicated in that branch, so migration to v2.0.3 is recommended. As a workaround, avoid running zrok copy from untrusted or unverified WebDAV or zrok sources, and restrict zrok operations to isolated environments or containers with limited filesystem permissions to reduce the blast radius of any traversal attempt (GitHub Advisory, zrok Advisory).

Additional resources


SourceThis report was generated using AI

Related NixOS vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-45568CRITICAL9.9
  • Python logoPython
  • zrok
NoYesJul 16, 2026
CVE-2026-45576HIGH8.3
  • NixOS logoNixOS
  • zrok
NoYesJul 16, 2026
CVE-2026-36590HIGH7.5
  • NixOS logoNixOS
  • nanomq
NoNoJul 15, 2026
CVE-2026-59259MEDIUM6
  • NixOS logoNixOS
  • n8n
NoYesJul 15, 2026
CVE-2026-26032MEDIUM5.4
  • NixOS logoNixOS
  • ivy
NoYesJul 15, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management