<?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>Flyto - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/vendors/flyto/</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>Thu, 30 Jul 2026 15:29:30 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/vendors/flyto/feed.xml" rel="self" type="application/rss+xml"/><item><title>Credential Exfiltration via Unrestricted Base URL in Flyto-core</title><link>https://feed.craftedsignal.io/briefs/2026-07-flyto-core-leak/</link><pubDate>Thu, 30 Jul 2026 15:29:30 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-flyto-core-leak/</guid><description>Flyto-core versions prior to 2.26.7 allow unauthenticated callers to exfiltrate API provider keys by supplying a malicious 'base_url' parameter, which forces the library to append operator-configured secrets to requests sent to attacker-controlled infrastructure.</description><content:encoded><![CDATA[<p>Flyto-core is susceptible to a credential exfiltration vulnerability (CVE-2026-67425) affecting multiple modules including <code>llm.chat</code>, <code>ai.model</code>, <code>llm.agent</code>, and <code>vector.connector</code>. The vulnerability exists because the library automatically fetches sensitive environment variables, such as <code>OPENAI_API_KEY</code> or <code>QDRANT_API_KEY</code>, and appends them as <code>Authorization: Bearer</code> headers to outgoing HTTP requests. While the library implements an SSRF guard, this mechanism only validates that the target host is not private; it does not prevent the application from sending requests to public, attacker-controlled servers. An attacker capable of influencing the <code>base_url</code> parameter via the MCP agent surface or hosted API can redirect these requests to an arbitrary public endpoint, successfully capturing the operator's environment-stored credentials. This vulnerability affects all <code>flyto-core</code> versions prior to 2.26.7 and can result in significant financial and data impact through unauthorized account usage.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies an exposed application interface that interacts with <code>flyto-core</code> and allows user-supplied parameters.</li>
<li>Attacker crafts a payload specifically targeting the <code>base_url</code> parameter within the library's <code>llm.chat</code> or <code>ai.model</code> functions.</li>
<li>Attacker points <code>base_url</code> to a custom-controlled public web server capable of capturing inbound HTTP headers.</li>
<li>The victim application receives the malicious request and passes the <code>base_url</code> parameter to the vulnerable library functions.</li>
<li><code>flyto-core</code> performs an SSRF check, which validates that the attacker's public URL is not a private IP, allowing the request to proceed.</li>
<li>The library retrieves the operator's secret key from environment variables (e.g., <code>OPENAI_API_KEY</code>).</li>
<li>The library transmits a POST request to the attacker's server, attaching the secret key in the <code>Authorization: Bearer</code> header.</li>
<li>Attacker logs the incoming request, extracts the Bearer token, and uses it to perform unauthorized API calls on behalf of the victim.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation results in the exfiltration of high-privilege cloud LLM and vector database credentials. Attackers can leverage these keys to incur fraudulent billing costs, exfiltrate sensitive data accessible to the LLM or vector store, or manipulate internal AI workflows. The ease of triggering this via the library's exposed API surfaces makes this a critical risk for any organization utilizing vulnerable versions of <code>flyto-core</code>.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Upgrade <code>flyto-core</code> to version 2.26.7 or higher immediately to apply the vendor-supplied patches (CVE-2026-67425).</li>
<li>Audit application code to identify all calls to <code>llm.chat</code>, <code>ai.model</code>, <code>llm.agent</code>, and <code>vector.connector</code> where user-controlled input influences the <code>base_url</code> parameter.</li>
<li>Implement strict allowlisting for allowed API endpoints rather than relying on SSRF guards for credential-handling components.</li>
<li>Rotate any API keys that were potentially exposed in environment variables if the application was reachable by untrusted actors.</li>
</ol>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>credential-theft</category><category>vulnerability</category><category>cloud-security</category><category>cve-2026-67425</category><category>cve-2026-67427</category><category>exfiltration</category><category>flyto</category><category>variable-interpolation</category></item><item><title>Unauthenticated SSRF and Secret Exfiltration in Flyto Core</title><link>https://feed.craftedsignal.io/briefs/2026-07-flyto-ssrf-exfiltration/</link><pubDate>Thu, 30 Jul 2026 15:29:02 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-flyto-ssrf-exfiltration/</guid><description>An unauthenticated SSRF vulnerability in the Flyto Core /run endpoint allows attackers to exfiltrate the internal FLYTO_RUNNER_SECRET and perform unauthorized requests against internal infrastructure.</description><content:encoded><![CDATA[<p>Flyto Core versions 2.26.6 and earlier are vulnerable to a critical SSRF and credential exfiltration flaw in the <code>flyto-verification</code> service. The <code>/run</code> endpoint, which is exposed by default on all interfaces (0.0.0.0) via the standard Docker configuration, lacks authentication. When a request is submitted to this endpoint, the <code>callback_url</code> parameter is processed without validation against an allowlist or SSRF protection guards.</p>
<p>Crucially, the service automatically appends the internal <code>FLYTO_RUNNER_SECRET</code> as an <code>X-Internal-Key</code> header to any outgoing request initiated by the <code>callback_url</code>. An attacker can specify an arbitrary URL, forcing the service to send the secret to an attacker-controlled listener. This exfiltration allows for the impersonation of the service when communicating with the primary engine. Furthermore, the vulnerability enables SSRF attacks against internal network resources or cloud metadata services (e.g., 169.254.169.254) using arbitrary JSON payloads.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker identifies a reachable Flyto Core verification service listening on port 8344 on a target network.</li>
<li>Attacker crafts an unauthenticated <code>POST</code> request to the <code>/run</code> endpoint.</li>
<li>Attacker sets the <code>callback_url</code> parameter to a malicious URI (e.g., <code>http://attacker-controlled-host.tld/</code>).</li>
<li>The service receives the request and fails to validate the <code>callback_url</code> against the expected <code>target_allowed</code> allowlist.</li>
<li>The <code>post_callback</code> function prepares an outbound request, fetching the <code>FLYTO_RUNNER_SECRET</code> from the process environment.</li>
<li>The service sends the request to the attacker's URI, including the <code>X-Internal-Key</code> header containing the secret.</li>
<li>Attacker captures the <code>FLYTO_RUNNER_SECRET</code> from the incoming request logs.</li>
<li>Attacker uses the stolen secret to authenticate and forge legitimate callbacks to the primary Flyto engine.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation leads to a total loss of confidentiality regarding the internal runner secret and potential full compromise of the Flyto workflow engine. By bypassing authentication, attackers can interact with internal cloud metadata services, exfiltrate sensitive environment configuration, and gain the ability to submit unauthorized workflows or callbacks, effectively masquerading as a legitimate runner.</p>
<h2 id="recommendation">Recommendation</h2>
<ol>
<li>Immediately restrict access to the <code>/run</code> endpoint using network-level controls (e.g., firewall rules or security groups) so it is only accessible from trusted internal IP ranges.</li>
<li>Bind the <code>flyto-verification</code> service to <code>127.0.0.1</code> instead of <code>0.0.0.0</code> in the <code>Dockerfile</code> and service configuration to prevent exposure to external network segments.</li>
<li>Patch to a version where <code>callback_url</code> is validated against a strict allowlist and protected by SSRF guards.</li>
<li>Rotate the <code>FLYTO_RUNNER_SECRET</code> immediately, as any instance running 2.26.6 or earlier must be assumed to have had this secret compromised.</li>
<li>Implement authentication (e.g., via OAuth or API keys) for all endpoints in the <code>flyto-verification</code> service to ensure that only authorized users can trigger the execution workflow.</li>
</ol>
]]></content:encoded><category domain="severity">critical</category><category domain="type">threat</category><category>ssrf</category><category>credential-theft</category><category>vulnerability</category><category>cve-2026-67426</category><category>path-traversal</category><category>arbitrary-file-write</category><category>rce</category><category>framework</category></item></channel></rss>