<?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>Mercury (3.0.0-3.2.3) - CraftedSignal Threat Feed</title><link>https://feed.craftedsignal.io/products/mercury-3.0.0-3.2.3/</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>Mon, 19 Oct 2026 18:09:54 +0000</lastBuildDate><atom:link href="https://feed.craftedsignal.io/products/mercury-3.0.0-3.2.3/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>CVE-2026-111057 - Unauthenticated Remote Code Execution in Mercury</title><link>https://feed.craftedsignal.io/briefs/2026-10-mercury/</link><pubDate>Mon, 19 Oct 2026 18:09:54 +0000</pubDate><author>hello@craftedsignal.io</author><guid isPermaLink="true">https://feed.craftedsignal.io/briefs/2026-10-mercury/</guid><description>A configuration error in Mercury framework versions 3.0.0 through 3.2.3 allows unauthenticated attackers to bypass endpoint restrictions and access the Jupyter Server terminal API for remote code execution.</description><content:encoded><![CDATA[<p>Mercury is a Python framework designed to transform Jupyter notebooks into web applications and dashboards. A critical security flaw identified in versions 3.0.0 through 3.2.3 stems from a missing comma within the <code>BLOCKED_PATTERNS</code> configuration. This syntax error results in the concatenation of <code>/lab</code> and <code>/api/terminals</code> regular-expression literals, effectively creating an unintended bypass of the security blocklist. Consequently, unauthenticated users can access the underlying Jupyter Server terminal API, which should be restricted. By interacting with this API, an attacker can launch an interactive shell on the host operating system, leading to arbitrary command execution and potential data exfiltration from the system running the Mercury process. This vulnerability is addressed in Mercury version 3.2.4.</p>
<h2 id="attack-chain">Attack Chain</h2>
<ol>
<li>Attacker performs reconnaissance to identify a web application running the Mercury framework.</li>
<li>Attacker crafts a malicious HTTP request targeting the <code>/api/terminals</code> endpoint.</li>
<li>The Mercury web service processes the request, and due to the <code>BLOCKED_PATTERNS</code> configuration error, the terminal endpoint check is bypassed.</li>
<li>The request is forwarded to the underlying Jupyter Server process.</li>
<li>The Jupyter Server grants the unauthenticated request, allowing the initiation of a new terminal session.</li>
<li>The attacker interacts with the exposed terminal API to spawn a persistent shell or execute arbitrary commands.</li>
<li>Attacker executes post-exploitation commands to exfiltrate data or establish secondary persistence.</li>
</ol>
<h2 id="impact">Impact</h2>
<p>Successful exploitation of CVE-2026-111057 allows unauthenticated remote code execution with the privileges of the user account running the Mercury process. This represents a critical risk to confidentiality, integrity, and availability for any environment hosting Jupyter-based web applications, potentially resulting in full system compromise.</p>
<h2 id="recommendation">Recommendation</h2>
<ul>
<li>Upgrade all instances of Mercury to version 3.2.4 or later immediately to patch the configuration error documented in CVE-2026-111057.</li>
<li>Audit access logs for any POST or GET requests to <code>/api/terminals</code> originating from unauthorized or external IP addresses.</li>
<li>Ensure the Mercury service process is running with the principle of least privilege, specifically restricting access to sensitive files and system binaries to limit the impact of a potential RCE.</li>
<li>Deploy network-level ingress filtering to restrict access to management endpoints of the Mercury/Jupyter environment.</li>
</ul>
]]></content:encoded><category domain="severity">critical</category><category domain="type">advisory</category><category>web-application</category><category>rce</category><category>python</category></item></channel></rss>