<?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>Openapi — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/openapi/</link><description>Trending threats, MITRE ATT&amp;CK coverage, and detection metadata — refreshed continuously.</description><generator>Hugo</generator><language>en</language><managingEditor>hello@craftedsignal.io</managingEditor><webMaster>hello@craftedsignal.io</webMaster><lastBuildDate>Wed, 08 Apr 2026 19:22:53 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/openapi/feed.xml" rel="self" type="application/rss+xml"/><item><title>mcp-from-openapi SSRF Vulnerability via Untrusted OpenAPI Specifications</title><link>https://feed.craftedsignal.io/briefs/2026-04-mcp-from-openapi-ssrf/</link><pubDate>Wed, 08 Apr 2026 19:22:53 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-04-mcp-from-openapi-ssrf/</guid><description>The mcp-from-openapi library is vulnerable to Server-Side Request Forgery (SSRF) due to insecure handling of $ref pointers in OpenAPI specifications, allowing attackers to read local files, internal network resources, and cloud metadata endpoints by processing untrusted OpenAPI specifications.</description><content:encoded><![CDATA[<p>The <code>mcp-from-openapi</code> library, up to version 2.1.2, is susceptible to Server-Side Request Forgery (SSRF) attacks. This vulnerability arises from the library&rsquo;s use of <code>@apidevtools/json-schema-ref-parser</code> to dereference <code>$ref</code> pointers in OpenAPI specifications without implementing any URL restrictions or custom resolvers. By crafting malicious OpenAPI specifications, an attacker can exploit this flaw to force the library to fetch internal network addresses, cloud metadata endpoints (like <code>http://169.254.169.254/</code>), or local files using <code>file:///etc/passwd</code>. This occurs during the <code>initialize()</code> call when processing the OpenAPI definition. Defenders should be aware that applications utilizing <code>mcp-from-openapi</code> to process potentially untrusted OpenAPI specifications are at risk.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>An attacker crafts a malicious OpenAPI specification containing <code>$ref</code> pointers to internal resources, cloud metadata endpoints, or local files.</li>
<li>The application using <code>mcp-from-openapi</code> receives this crafted OpenAPI specification, for example, via user upload or network request.</li>
<li>The <code>OpenAPIToolGenerator.initialize()</code> function is called, triggering the <code>$ref</code> dereferencing process.</li>
<li>The <code>json-schema-ref-parser</code> library, lacking proper configuration, fetches the resources specified in the malicious <code>$ref</code> pointers.</li>
<li>If the <code>$ref</code> points to a cloud metadata endpoint (e.g., <code>http://169.254.169.254/</code>), the server attempts to retrieve sensitive cloud credentials.</li>
<li>If the <code>$ref</code> points to an internal service, the server probes the internal network, potentially revealing information about available services.</li>
<li>If the <code>$ref</code> points to a local file (e.g., <code>file:///etc/passwd</code>), the server reads the contents of the file and includes it in the dereferenced output.</li>
<li>The attacker gains access to sensitive information, such as cloud credentials or internal network configurations, enabling further exploitation or lateral movement.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of this SSRF vulnerability in <code>mcp-from-openapi</code> can have significant consequences. Attackers can steal cloud credentials by targeting metadata endpoints like <code>http://169.254.169.254/</code>, allowing them to compromise cloud infrastructure. The vulnerability also enables internal network scanning by probing internal services and ports, mapping out the internal network layout. Furthermore, attackers can read arbitrary files from the server&rsquo;s filesystem using the <code>file://</code> protocol, potentially gaining access to sensitive configuration files or credentials. The affected packages include npm/mcp-from-openapi (vulnerable: &lt;= 2.1.2), npm/@frontmcp/sdk (vulnerable: &lt;= 1.0.3), and npm/@frontmcp/adapters (vulnerable: &lt;= 1.0.3).</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade <code>mcp-from-openapi</code> to a patched version if available, or implement a patch to restrict URL resolution as described in the suggested fix.</li>
<li>Implement input validation on OpenAPI specifications before processing them with <code>mcp-from-openapi</code> to prevent malicious <code>$ref</code> values, mitigating CVE-2026-39885.</li>
<li>Monitor network connections originating from processes running <code>mcp-from-openapi</code>, alerting on connections to internal network addresses or cloud metadata endpoints using the network connection rule below.</li>
<li>Deploy the Sigma rule that detects access to local files via the <code>file://</code> protocol to your SIEM and tune it for your environment.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>ssrf</category><category>openapi</category><category>mcp-from-openapi</category></item></channel></rss>