Mercury lets anonymous clients execute arbitrary Python code
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Security bypass
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-862.
Summary
Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. Versions before 3.2.6 allow anonymous clients on default tokenless deployments to create Jupyter kernels, because the endpoint blocklist does not cover /api/kernels and the websocket wrapper does not authorize executable messages (CWE-862). An unauthenticated remote attacker can send messages that run arbitrary Python code.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
Mercury is a Python framework for sharing Jupyter notebooks as web applications and dashboards. Prior to 3.2.6, default tokenless deployments allow anonymous clients to create Jupyter kernels and send execute_request messages containing arbitrary Python. The endpoint blocklist does not cover /api/kernels, and the websocket wrapper previously tracked idle activity without authorizing executable messages. This issue is fixed in version 3.2.6.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| mljar | mercury | before 3.2.6 | 3.2.6 | Patch available | CNA |
| — | mercury (PyPI) | before 3.2.6 | 3.2.6 | Patch available | GHSA-rv4m-xm3f-3ccq |
- mercury Vendormljar Affected before 3.2.6 Fixed in 3.2.6 Patch available CNA
- mercury (PyPI) Vendor— Affected before 3.2.6 Fixed in 3.2.6 Patch available GHSA-rv4m-xm3f-3ccq
Remediation
Upgrade the mercury package on PyPI to version 3.2.6, which fixes this issue. The mljar mercury entry lists versions before 3.2.6 as affected with no fix listed.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA mercury (mljar) Fixed in 3.2.6
- Fix · GHSA-rv4m-xm3f-3ccq mercury (PyPI) Fixed in 3.2.6 Advisory →
Timeline
- 2026-10-19 Threatist record created from CVE-2026-111058
- 2026-10-19 Alias added: GHSA-rv4m-xm3f-3ccq
- 2026-10-19 Fix available: PyPI/[email protected] · GHSA-rv4m-xm3f-3ccq
- 2026-10-19 CVSS score added · GHSA-rv4m-xm3f-3ccq
- 2026-10-19 Weakness changed · GHSA-rv4m-xm3f-3ccq
- 2026-10-19 4 new references · GHSA-rv4m-xm3f-3ccq
- 2026-10-19 CISA SSVC decision points changed
References
More mljar vulnerabilities
- TI-2026-76429 Mercury: unauthenticated remote code execution via /api/terminals bypass CVSS 3.1CRITICAL 10.0
- TI-2025-01287 Remote Code Execution in PlotAI CVSS 4.0CRITICAL 9.3
- TI-2026-76431 Mercury mr.Markdown renders untrusted Markdown as unsanitized HTML (XSS) CVSS 3.1MEDIUM 6.1
Sources
- CVE-2026-111058 · CVE Program
- CVE-2026-111058 · NVD
- FIRST EPSS
- GHSA-rv4m-xm3f-3ccq · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences