Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious tar.gz with out-of-bounds link
-
DeliveryDeliver poisoned artifact to ZenML store
-
ExploitVictim loads artifact via PathMaterializer
-
ExecutionLink bypasses path validation on extraction
-
PersistArbitrary file overwritten outside directory
-
ImpactCode execution via overwritten critical file
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that a victim invoke |
| Impact | This is a genuine integrity/availability threat but not a mass-exploitation priority. The CVSS 3.1 base score of 7.8 is driven by high confidentiality, integrity and availability impact (C:H/I:H/A:H) combined with low attack complexity, but the local attack vector (AV:L) and required user interaction (UI:R) materially constrain real-world risk: exploitation requires a victim to load an attacker-supplied malicious |
| Exploit ScenarioDerived | An attacker crafts a malicious |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
ZenML 0.83.1 can be induced to write files outside the intended extraction directory when PathMaterializer.load processes a crafted data.tar.gz containing symbolic or hard links whose targets escape the archive root. The validation only checks member names, so an attacker who convinces a victim pipeline to load the poisoned artifact can overwrite arbitrary files, with possible command execution if critical files are replaced. Publicly available exploit code exists, EPSS is low at 0.36%, there is no KEV indication of active exploitation, and a vendor fix commit is available.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Apply the vendor fix represented by commit 5d22a48d7bf6c7f10b748577c2be79cc7969d398, which adds _is_safe_tar_member and validates symlink and hard link targets, or upgrade to a ZenML release that includes it; the supplied data does not provide an exact patched release version, so confirm the release contents before relying on a version number. If immediate upgrade is not possible, do not load untrusted data.tar.gz artifacts through PathMaterializer; restrict artifact ingestion to trusted, internally produced artifacts and verify provenance before deserialization. As a compensating control, pre-screen tar members and reject any symlink or hard link whose linkname is absolute or resolves outside the extraction directory, then extract in a low-privilege sandbox or container with no write access to sensitive host paths. These mitigations trade away the ability to consume external artifacts or may alter pipeline behavior, and inspection should not replace the vendor patch because incomplete filtering can be bypassed. Advisory and bounty reference: https://huntr.com/bounties/a0880d64-9928-45bf-9663-2cd81582d9e7.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ZenML materializers serialize and deserialize pipeline artifacts, and PathMaterializer.load handles tar-based archives by filtering members before calling tarfile.extractall. The vulnerable is_path_within_directory check validates member.name but does not inspect member.linkname for entries where issym() or islnk() is true. Tar symbolic and hard links store their target path in linkname, so an archive can include a link whose target is absolute or contains ../ sequences and therefore resolves outside the extraction directory; writes through that link can land in sensitive locations. This is CWE-22 path traversal in archive extraction, with a local attack vector and user interaction required because the victim must load the malicious artifact. The supplied fix commit adds _is_safe_tar_member, which rejects unsafe member names and separately validates symlink and hard link targets, with tests covering regular files, symlinks, hard links, absolute paths, and mixed cases. The CPE cpe:2.3:a:zenml:zenml:*:*:*:*:*:*:*:* identifies ZenML as the product, with version 0.83.1 named in the report.
Know when Zenml gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Requires a victim to load an attacker-supplied artifact (AV:L, UI:R) with no auth (PR:N); arbitrary file write enabling code execution yields full C/I/A impact.
Primary rating from NVD.
CVSS VectorNVD
DescriptionNVD
ZenML version 0.83.1 is affected by a path traversal vulnerability in the PathMaterializer class. The load function uses is_path_within_directory to validate files during data.tar.gz extraction, which fails to effectively detect symbolic and hard links. This vulnerability can lead to arbitrary file writes, potentially resulting in arbitrary command execution if critical files are overwritten.
Executive ViewAI
ZenML 0.83.1, the machine-learning pipeline framework used by data science and MLOps teams, can be tricked into overwriting arbitrary files on pipeline hosts when it loads a maliciously crafted artifact archive, potentially enabling command execution if critical system files are replaced. Leadership should care because compromise of a pipeline host can expose model artifacts, training data, and cloud credentials used by those workloads, and remediation requires coordinated action across teams running ZenML. Publicly available exploit code exists, though there is no confirmed active exploitation.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Affected Products (CPE)NVD
A directory traversal vulnerability exists in the zenml-io/zenml repository, specifically within the /api/v1/steps endpo
A vulnerability in zenml-io/zenml version 0.56.3 allows attackers to reuse old session credentials or session IDs due to
ZenML Server in the ZenML machine learning package before 0.46.7 for Python allows remote privilege escalation because t
An improper authorization vulnerability exists in the zenml-io/zenml repository, specifically within the API PUT /api/v1
A reflected Cross-Site Scripting (XSS) vulnerability was identified in zenml-io/zenml version 0.57.1. Rated medium sever
A clickjacking vulnerability exists in zenml-io/zenml versions up to and including 0.55.5 due to the application's failu
zenml-io/zenml version 0.56.4 is vulnerable to an account takeover due to the lack of rate-limiting in the password chan
A stored Cross-Site Scripting (XSS) vulnerability was identified in the zenml-io/zenml repository, specifically within t
zenml v0.55.4 was discovered to contain an arbitrary file upload vulnerability in the load function at /materializers/cl
Remote code execution in ZenML 0.94.6 allows any attacker with write access to a shared artifact store to plant a malici
A session fixation vulnerability exists in the zenml-io/zenml application, where JWT tokens used for user authentication
An issue was discovered in zenml-io/zenml versions up to and including 0.55.4. Rated low severity (CVSS 3.3), this vulne
NVD
CVE.org
EPSS
GitHub
Exploit-DB