<?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>Model-Chaining — CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/tags/model-chaining/</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>Tue, 02 Jan 2024 12:00:00 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/tags/model-chaining/feed.xml" rel="self" type="application/rss+xml"/><item><title>Open WebUI Model Chaining Access Control Bypass</title><link>https://feed.craftedsignal.io/briefs/2024-01-02-open-webui-model-bypass/</link><pubDate>Tue, 02 Jan 2024 12:00:00 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2024-01-02-open-webui-model-bypass/</guid><description>Open WebUI is vulnerable to an access control bypass due to improper model chaining, allowing a regular user to create a model that chains to a restricted base model and query it using the admin's API key, bypassing access restrictions.</description><content:encoded><![CDATA[<p>Open WebUI, a web interface for Large Language Models, is susceptible to an access control vulnerability via its model chaining feature. This feature allows users to create custom models that reference existing base models for inference. The vulnerability arises because access controls are only applied to the user-facing model, not the chained base model. An attacker with default model creation permissions can exploit this flaw to create a model that chains to a restricted or premium base model, effectively bypassing intended access restrictions and querying the restricted model using the admin-configured API key. This issue affects the current main branch (commit <code>6fdd19bf1</code>) and likely all versions with the model chaining feature.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Admin provisions a restricted model, such as <code>gpt-4-turbo-restricted</code>, and configures access control policies.</li>
<li>Attacker, without access to the restricted model, crafts a <code>POST</code> request to <code>/api/v1/models/create</code> with a payload defining a new model (e.g., <code>cheap-assistant</code>) and setting its <code>base_model_id</code> to the restricted model&rsquo;s ID.</li>
<li>The <code>create</code> endpoint lacks validation to ensure the attacker has access to the specified <code>base_model_id</code>.</li>
<li>The attacker now owns the <code>cheap-assistant</code> model, which will pass the initial <code>check_model_access</code> check.</li>
<li>The attacker sends a <code>POST</code> request to <code>/api/chat/completions</code>, specifying the newly created <code>cheap-assistant</code> model.</li>
<li>The application resolves the <code>base_model_id</code> of <code>cheap-assistant</code> to <code>gpt-4-turbo-restricted</code> within <code>main.py:1696</code>.</li>
<li>The application rewrites the <code>payload[&quot;model&quot;]</code> to the base model ID, and dispatches the upstream request using the admin-configured API key.</li>
<li>The attacker receives responses from the restricted model, successfully circumventing the intended access restrictions.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>This vulnerability allows unauthorized access to restricted models, potentially leading to increased costs on pay-per-token backends such as OpenAI or Azure, as the admin&rsquo;s API key is used for unauthorized requests. It also creates a false sense of security, as access restrictions appear to work through the standard model selector but are ineffective against user-created chains. The vulnerability can lead to direct cost impact on pay-per-token backends and erode trust in the configured access controls.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Deploy the Sigma rule <code>Detect Open WebUI Model Creation with External BaseModelID</code> to detect attempts to create models with <code>base_model_id</code> pointing to existing models, and tune the false positives for your environment.</li>
<li>Deploy the Sigma rule <code>Detect Open WebUI Chat Completion Request Using Custom Model with BaseModelID</code> to detect chat completion requests using a custom model with a <code>base_model_id</code> set.</li>
<li>Upgrade to a patched version of Open WebUI that includes proper access control validation for <code>base_model_id</code> during model creation to remediate CVE-2026-44555.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>access-control</category><category>model-chaining</category><category>open-webui</category><category>privilege-escalation</category></item></channel></rss>