CVE-2026-40090
Published: 15 April 2026
Summary
CVE-2026-40090 is a high-severity Path Traversal (CWE-22) vulnerability in Lfprojects Zarf. Its CVSS base score is 7.1 (High).
Operationally, exploitation aligns with the MITRE ATT&CK technique Cron (T1053.003); ranked at the 14.9th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.
The strongest mitigations our analysis identified are NIST 800-53 SI-10 (Information Input Validation) and SI-2 (Flaw Remediation).
Threat & Defense at a Glance
Threat & Defense Details
Mitigating Controls (NIST 800-53 r5)AI
Directly prevents path traversal exploitation by requiring validation of untrusted inputs like the Metadata.Name field from Zarf packages before constructing output file paths.
Ensures timely identification, reporting, and patching of the specific flaw in Zarf versions 0.23.0 through 0.74.1, as fixed in 0.74.2.
Limits the scope of arbitrary file writes by enforcing least privilege on the user or process executing the Zarf inspect command, restricting access to sensitive filesystem locations.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Arbitrary file write via path traversal in Zarf inspect commands directly enables writing attacker-controlled files to /etc/cron.d/ (Cron persistence) and ~/.ssh/authorized_keys (SSH key persistence).
NVD Description
Zarf is an Airgap Native Packager Manager for Kubernetes. Versions 0.23.0 through 0.74.1 contain an arbitrary file write vulnerability in the zarf package inspect sbom and zarf package inspect documentation subcommands. These subcommands output file paths are constructed by joining…
more
a user-controlled output directory with the package's Metadata.Name field read directly from the untrusted package's zarf.yaml manifest. Although Metadata.Name is validated against a regex on package creation, an attacker can unarchive a package to modify the Metadata.Name field to contain path traversal sequences such as ../../etc/cron.d/malicious or absolute paths like /home/user/.ssh/authorized_keys, along with the corresponding files inside SBOMS.tar. This allows writing attacker-controlled content to arbitrary filesystem locations within the permissions of the user running the inspect command. This issue has been fixed in version 0.74.2.
Deeper analysisAI
CVE-2026-40090 is an arbitrary file write vulnerability affecting Zarf, an airgap-native package manager for Kubernetes. The issue resides in the `zarf package inspect sbom` and `zarf package inspect documentation` subcommands in versions 0.23.0 through 0.74.1. These subcommands construct output file paths by joining a user-controlled output directory with the package's Metadata.Name field, which is read directly from the untrusted package's zarf.yaml manifest. Although Metadata.Name is validated with a regex during package creation, an attacker can unarchive a package, modify this field to include path traversal sequences like `../../etc/cron.d/malicious` or absolute paths like `/home/user/.ssh/authorized_keys`, and include corresponding files in SBOMs.tar, enabling writes to arbitrary filesystem locations within the permissions of the user running the command.
An attacker can exploit this vulnerability by crafting a malicious Zarf package and tricking a victim into inspecting it with the affected subcommands. Exploitation requires no privileges (PR:N) and user interaction (UI:R), such as a user running the inspect command on an untrusted package provided via network (AV:N). Successful exploitation allows the attacker to write arbitrary, attacker-controlled content to sensitive locations on the victim's filesystem, potentially leading to persistence (e.g., adding cron jobs or SSH keys), with high integrity impact (I:H) and low availability impact (A:L).
The vulnerability has been addressed in Zarf version 0.74.2. Official advisories, including the GitHub security advisory at GHSA-pj97-4p9w-gx3q and the related pull request at #4793, detail the fix and recommend upgrading to the patched version to mitigate the path traversal issue (CWE-22).
Details
- CWE(s)