<?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/" xmlns:webfeeds="http://webfeeds.org/rss/1.0"><channel><title>MLflow (&lt;= 3.17.1) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/mlflow--3.17.1/</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>Sun, 18 Oct 2026 01:12:45 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/mlflow--3.17.1/feed.xml" rel="self" type="application/rss+xml"/><image><url>https://feed.craftedsignal.io/favicon-32x32.png</url><title>CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/</link><width>32</width><height>32</height></image><webfeeds:icon>https://feed.craftedsignal.io/favicon.svg</webfeeds:icon><item><title>Path Traversal in MLflow FileStore via CVE-2026-53995</title><link>https://feed.craftedsignal.io/briefs/2026-10-mlflow-path-traversal/</link><pubDate>Sun, 18 Oct 2026 01:12:45 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-mlflow-path-traversal/</guid><description>MLflow FileStore is vulnerable to a path traversal attack allowing arbitrary file creation through malicious trace_id parameters in the start_trace_v3 API endpoint.</description><content:encoded><![CDATA[<p>MLflow versions through 3.17.1 contain a path traversal vulnerability in the FileStore component, identified as CVE-2026-53995. The flaw exists within the handling of the <code>trace_id</code> parameter when processing requests to the <code>/api/3.0/mlflow/traces</code> endpoint. By submitting a <code>trace_id</code> containing directory traversal sequences, such as <code>../../../</code>, an attacker can bypass the intended directory structure of the <code>mlruns/</code> storage path.</p>
<p>When the <code>FileStore.start_trace()</code> function processes the <code>trace_info</code> proto containing a malicious ID, it incorrectly joins the path, enabling the application to write metadata, trace information, and tag files outside of the designated experiment trace directory. This vulnerability provides an arbitrary file write primitive, which could be leveraged to overwrite configuration files or place malicious files on the host filesystem. The issue was disclosed by Sai Teja Erukude and confirmed to affect the standard FileStore backend implementation in MLflow.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a target running an vulnerable MLflow instance (&lt;= 3.17.1).</li>
<li>Attacker crafts a malicious <code>StartTraceV3</code> request targeting the <code>/api/3.0/mlflow/traces</code> endpoint.</li>
<li>The <code>trace_id</code> field within the JSON request body is populated with path traversal sequences like <code>../../../[custom-dir]</code>.</li>
<li>The MLflow server receives the request and parses the <code>trace_info</code> structure.</li>
<li>The <code>FileStore</code> component incorrectly joins the malicious <code>trace_id</code> with the base storage path.</li>
<li>The application resolves the path to a location outside of the intended <code>mlruns/</code> directory hierarchy.</li>
<li>The application writes trace metadata, tags, and state files to the attacker-controlled path on the underlying filesystem.</li>
<li>Attacker successfully creates or overwrites files on the host system, potentially leading to further compromise.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows for arbitrary file creation on the filesystem where MLflow is deployed. This can result in unauthorized data modification, potential service disruption, or the placement of malicious artifacts. While the CVSS score is 6.2, the impact depends on the service account privileges running the MLflow server, which could grant an attacker write access to sensitive system directories or application configurations.</p>
<h2 id="recommendation">Recommendation</h2>
<p>Prioritized, concrete actions for detection engineering and security teams:</p>
<ul>
<li>Implement strict input validation on the <code>trace_id</code> field in the MLflow API to reject path separators, traversal segments (<code>../</code>), absolute paths, and drive letters.</li>
<li>Deploy an allow-list for <code>trace_id</code> components to ensure all trace storage operations remain within the designated experiment trace directory.</li>
<li>Monitor webserver access logs for POST requests to <code>/api/3.0/mlflow/traces</code> containing path traversal sequences or unexpected characters in the request body.</li>
<li>Restrict access to the trace-creation endpoint until a patched version of MLflow is deployed to your environment.</li>
<li>If feasible, migrate trace tracking from the FileStore backend to a secure SQL backend, ensuring appropriate compatibility checks are performed.</li>
<li>Review the provided <code>fix.md</code> and reproduction <code>run_poc.py</code> to understand the vulnerable path resolution logic and validate internal environments against the documented regression patterns.</li>
</ul>
]]></content:encoded><category domain="severity">medium</category><category domain="type">advisory</category><category>path-traversal</category><category>cve-2026-53995</category><category>mlflow</category><category>vulnerability</category></item></channel></rss>