<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>ZenML (0.94.6) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/zenml-0.94.6/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata. Fed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Fri, 07 Aug 2026 17:34:43 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/zenml-0.94.6/feed.xml" rel="self" type="application/rss+xml"/><item><title>Remote Code Execution in ZenML CloudpickleMaterializer</title><link>https://feed.craftedsignal.io/briefs/2026-08-zenml-rce/</link><pubDate>Fri, 07 Aug 2026 17:34:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-08-zenml-rce/</guid><description>ZenML 0.94.6 contains a remote code execution vulnerability in the CloudpickleMaterializer component that allows arbitrary command execution via malicious pickle file injection.</description><content:encoded><![CDATA[<p>ZenML version 0.94.6 contains a remote code execution vulnerability (CVE-2026-68772) within the CloudpickleMaterializer component. This vulnerability stems from the use of unsanitized <code>cloudpickle.load()</code> calls when materializing artifacts from the artifact store. An attacker who gains write access to the shared artifact store can replace a legitimate <code>artifact.pkl</code> file with a crafted payload containing a malicious <code>__reduce__</code> method. When a legitimate pipeline or user subsequently materializes this artifact, the Python environment automatically executes the embedded malicious commands. This vulnerability is critical for organizations using shared artifact storage in multi-user environments where local write access or compromised service accounts could allow for persistence or lateral movement within the data pipeline ecosystem.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker gains write access to a shared artifact storage location used by ZenML.</li>
<li>Attacker locates a target <code>artifact.pkl</code> file used by an active or future pipeline.</li>
<li>Attacker generates a malicious pickle payload using <code>cloudpickle</code> that defines a <code>__reduce__</code> method to execute system commands.</li>
<li>Attacker overwrites the legitimate <code>artifact.pkl</code> file with the malicious payload.</li>
<li>A victim user or automated pipeline execution agent triggers the <code>CloudpickleMaterializer</code> to process the artifact.</li>
<li>The <code>CloudpickleMaterializer</code> executes <code>cloudpickle.load()</code> on the malicious file.</li>
<li>The embedded commands in the <code>__reduce__</code> method are executed in the security context of the pipeline process.</li>
<li>Attacker gains arbitrary code execution, potentially resulting in exfiltration or further compromise of the compute environment.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for remote code execution within the context of the pipeline process. This can lead to full system compromise, data exfiltration from the artifact store, or unauthorized access to credentials and sensitive data processed by the data pipelines.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade ZenML to a patched version immediately to resolve the unsafe deserialization vulnerability in the CloudpickleMaterializer.</li>
<li>Restrict write access to shared artifact storage locations to only authorized service accounts or users.</li>
<li>Monitor file integrity for <code>artifact.pkl</code> files within the ZenML artifact store for unauthorized modifications.</li>
<li>Implement strict access control lists (ACLs) on cloud-based artifact storage (e.g., S3, GCS) to ensure only authorized CI/CD pipelines can modify stored objects.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>remote-code-execution</category><category>deserialization</category><category>zenml</category></item></channel></rss>