<?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>Mistral.rs - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/mistral.rs/</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, 11 Sep 2026 00:54:43 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/mistral.rs/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>Unauthenticated SSRF and Local File Enumeration in mistral.rs</title><link>https://feed.craftedsignal.io/briefs/2026-09-mistralrs-ssrf-local-file-read/</link><pubDate>Fri, 11 Sep 2026 00:54:43 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-09-mistralrs-ssrf-local-file-read/</guid><description>The mistralrs-server-core component allows unauthenticated attackers to perform SSRF and enumerate local files via unvalidated image_url and audio_url message parameters.</description><content:encoded><![CDATA[<p>The mistral.rs project contains a critical vulnerability in the <code>mistralrs-server-core</code> crate (versions 0.8.17 and earlier) that exposes server infrastructure to SSRF and filesystem enumeration. During chat completion requests, the server uses a <code>parse_image_url</code> and <code>parse_audio_url</code> utility to process media URLs. This utility fails to perform any host validation or IP allowlisting, allowing remote, unauthenticated attackers to supply <code>http(s)</code> URLs that resolve to internal network addresses or cloud metadata services.</p>
<p>Furthermore, the parser accepts <code>file://</code> schemes or bare file paths. If a path exists on the local filesystem, the server attempts to open and process it. Because the server returns distinct error messages for valid vs. nonexistent paths, attackers can use the application as an oracle to enumerate the existence and type of files on the server. The vulnerability also enables resource exhaustion (Denial of Service) due to the lack of request timeouts and file size limits during the fetching and reading process.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker sends a crafted POST request to the <code>/v1/chat/completions</code> endpoint.</li>
<li>The request includes a <code>messages</code> object containing a malicious <code>image_url</code> or <code>audio_url</code> field.</li>
<li>The <code>mistralrs-server-core</code> backend passes this unvalidated string to <code>parse_image_url</code> or <code>parse_audio_url</code>.</li>
<li>For SSRF: The backend uses <code>reqwest::get</code> to fetch the attacker-supplied URL, following redirects to internal or cloud-metadata destinations.</li>
<li>For File Enumeration: The backend attempts <code>File::open</code> on the provided string; success confirms file existence, triggering an image decoding error.</li>
<li>The server returns a specific HTTP 500 error response reflecting the outcome of the filesystem operation.</li>
<li>The attacker parses the error response to confirm file existence or probe internal network services.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation allows unauthenticated attackers to probe internal networks, including sensitive cloud metadata services, and enumerate files on the host filesystem. While actual file content disclosure is not directly achieved, the existence oracle provides significant information for lateral movement or further exploitation. Additionally, the lack of input constraints enables a Denial of Service attack by forcing the server to process oversized files or hang on non-responsive internal network requests.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Update <code>mistralrs-server-core</code> to a version that implements input validation and restricts media loading.</li>
<li>Implement strict allowlists for media domains and block access to private/loopback/link-local IP ranges and cloud metadata services.</li>
<li>Deploy web application firewall (WAF) rules to inspect <code>image_url</code> and <code>audio_url</code> parameters for <code>file://</code> schemes or suspicious local file paths (e.g., <code>/etc/</code>, <code>C:\</code>).</li>
<li>Ensure appropriate resource limits and timeouts are configured for the request-handling service to mitigate potential Denial of Service exploitation.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>file-enumeration</category><category>denial-of-service</category><category>webserver</category></item></channel></rss>