<?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>Open WebUI &lt; 0.10.0 - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/open-webui--0.10.0/</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, 24 Jul 2026 16:57:17 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/open-webui--0.10.0/feed.xml" rel="self" type="application/rss+xml"/><item><title>Open WebUI: Stored Web Worker XSS via Pyodide Leading to Server-Side RCE</title><link>https://feed.craftedsignal.io/briefs/2026-07-open-webui-rce/</link><pubDate>Fri, 24 Jul 2026 16:57:17 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-07-open-webui-rce/</guid><description>A stored web worker XSS vulnerability, CVE-2026-59214, in Open WebUI versions prior to 0.10.0 allows a low-privileged user to inject malicious Python code into chat messages that, when executed by an administrator or privileged user via a 'Run' click, triggers authenticated same-origin requests to create server-side functions with arbitrary commands, leading to remote code execution on the Open WebUI server.</description><content:encoded><![CDATA[<p>A high-severity vulnerability, CVE-2026-59214, affects Open WebUI versions prior to 0.10.0, enabling stored web worker Cross-Site Scripting (XSS) via Pyodide. This flaw allows a low-privileged user to inject malicious Python code into a chat message. When a victim, specifically an administrator or a user with <code>workspace.functions</code> or <code>workspace.tools</code> permissions, views the chat and clicks &quot;Run&quot;, the embedded Python code executes authenticated same-origin requests. This client-side execution can then be chained to create a server-side Function or Tool with arbitrary Python commands, leading to remote code execution (RCE) on the Open WebUI server. The vulnerability was published by GitHub Security Advisory (GHSA) on July 24, 2026.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>A low-privileged attacker crafts a malicious Python payload using Pyodide's <code>pyodide.http.pyfetch</code> or the <code>js</code> module. The payload is designed to send an authenticated POST request to the <code>/api/v1/functions/create</code> endpoint.</li>
<li>The POST request body includes JSON data defining a new Function/Tool, whose <code>content</code> field contains arbitrary Python commands for server-side execution, such as <code>import os; os.system('&lt;attacker command&gt;')</code>.</li>
<li>The attacker stores this malicious payload within an Open WebUI chat message.</li>
<li>The attacker shares this chat message with a victim, who possesses elevated privileges (e.g., administrator or <code>workspace.functions</code>/<code>workspace.tools</code> permissions).</li>
<li>The victim accesses the shared chat message containing the malicious Python payload.</li>
<li>The victim clicks the &quot;Run&quot; button associated with the payload, triggering its execution within the client-side Pyodide web worker.</li>
<li>The executed Pyodide payload leverages the victim's session cookie to send the crafted authenticated <code>/api/v1/functions/create</code> request to the Open WebUI server.</li>
<li>The server processes the request, creating a new Function/Tool with the attacker's arbitrary Python code, leading to immediate remote code execution on the Open WebUI server.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-59214 allows a low-privileged attacker to achieve remote code execution on the Open WebUI server. This impact is contingent on the victim being an administrator or a user holding <code>workspace.functions</code> or <code>workspace.tools</code> permissions. The attacker can then execute arbitrary system commands on the server, potentially leading to full system compromise, data exfiltration, or further lateral movement within the compromised environment. Even without RCE, the executed code can issue any authenticated request as the victim, enabling unauthorized actions or data access within the application.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Apply the patch by upgrading Open WebUI to version 0.10.0 or later to address CVE-2026-59214, ensuring Pyodide runs in a sandboxed iframe.</li>
<li>If immediate upgrade is not possible, disable Pyodide code execution or configure the Code Execution / Code Interpreter engine to use a server-side option as a workaround.</li>
<li>Implement robust logging and monitoring for suspicious <code>POST</code> requests targeting the <code>/api/v1/functions/create</code> endpoint on your Open WebUI instance, specifically looking for <code>content</code> parameters within the request body that contain <code>os.system</code> or other indicators of arbitrary command execution.</li>
</ul>
]]></content:encoded><category domain="severity">high</category><category domain="type">advisory</category><category>xss</category><category>rce</category><category>pyodide</category><category>web-application</category><category>vulnerability</category></item></channel></rss>