CVE-2026-39987
marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
Exploited in the wild. In CISA KEV since 2026‑04‑23. A vendor fix is available.
What to do
The vendor has published a fix. Version details are below where the sources state them.
Steps
Written by AI from the record- Check whether your Marimo deployment is running a version earlier than 0.23.0 and whether the terminal functionality is enabled.
- Upgrade Marimo to 0.23.0 (or a later release) to remove the unauthenticated terminal WebSocket command-execution path.
- If you cannot upgrade right away, temporarily disable the terminal feature or block access to the terminal WebSocket endpoint from untrusted networks (e.g., the public internet), then plan the upgrade immediately.
- After updating, review server logs and alerts for signs of command execution attempts or unusual outbound connections from the Marimo host.
What it is
From the CVE record
marimo is a reactive Python notebook. Prior to 0.23.0, Marimo has a Pre-Auth RCE vulnerability. The terminal WebSocket endpoint /terminal/ws lacks authentication validation, allowing an unauthenticated attacker to obtain a full PTY shell and execute arbitrary system commands. Unlike other WebSocket endpoints (e.g., /ws) that correctly call validate_auth() for authentication, the /terminal/ws endpoint only checks the running mode and platform support before accepting connections, completely skipping authentication verification. This vulnerability is fixed in 0.23.0.
In plain language
Written by AI from the recordMarimo versions before 0.23.0 can let anyone on the network log in without credentials and run commands on the server—this is an immediate, high-risk issue if you use Marimo’s terminal feature.
CVE-2026-39987 is a pre-auth remote code execution in Marimo where the terminal WebSocket endpoint bypasses authentication checks, allowing unauthenticated attackers to establish a terminal session and execute arbitrary system commands.
If you're affected
- Full server takeover
- Malware installation and persistence
- Customer/workspace data theft
- Service downtime or destruction
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Listed as exploited in the wild since 2026-04-23.
US federal agencies must remediate by 2026-05-07.
Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
38% chance of exploitation activity in the next 30 days, which ranks it in the 98th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
- Attention now
Rising.
Lifecycle
12 events over 168 days, from the signal feeds we watch.
- EPSS band changecritical → moderateepss band change
- EPSS band changehigh → critical
- EPSS band changelow → high
- Added to CISA KEVpatch available, workaround available, record updated
- Nuclei check addedpublished, weakness classified, att&ck mapped
Affected products
Technical detail
CVSS 3.1 vector
Open in the CVSS calculatorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Scored 9.8 by NVD.
How it is reached
- Attack Vector NetworkExploitable remotely over the network without any special conditions
- Attack Complexity LowNo special conditions — the attack can be reliably reproduced
- Privileges Required NoneNo authentication required — anyone can exploit this
- User Interaction NoneNo user interaction needed — fully automated exploitation
Scope
- Scope UnchangedImpact is limited to the vulnerable component itself
Impact if exploited
- Confidentiality HighTotal information disclosure — all data in the component is compromised
- Integrity HighTotal loss of integrity — attacker can modify any data in the component
- Availability HighTotal denial of service — the component is completely unavailable
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
Sources
References in the record
- suse.com/security/cve/CVE-2025-39987.html&
- github.com/marimo-team/marimo/security/advisories/GHSA-2679-6mx9-h9xc&
- github.com/marimo-team/marimo/pull/9098
And 6 more references. See all after sign-in
In the news
All news- Human Attacker Exploits Marimo RCE, Reaches SSH Bastion in Eight Seconds
- Marimo Notebook Flaw Could Run MCP Commands Before Cells Execute in Edit Mode
- CISA Flags Langflow RCE, Tomcat, and N-central Flaws as Actively Exploited
- Китайский хакер использовал DeepSeek для проведения автономных атак
- Chinese Hacker Commands DeepSeek via Telegram to Launch Autonomous Attacks
- ThreatsDay: AI-Powered Hacking, 370 Chrome Flaws, SonicWall Attacks, DNS Hijacking + 22 More Stories
- Chinese-Speaking Threat Actor Harnesses AI Models for Autonomous Cyberattacks
- New NadMesh Botnet Hunts Exposed AI Services for Cloud Keys and Kubernetes Tokens
- Researchers Build Self-Replicating AI Worm That Operates Entirely on Local, Open-Weight Models
- Attackers Use LLM Agent for Post-Exploitation After Marimo CVE-2026-39987 Exploit
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next exploited one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Marimo, not every advisory. This one: actively exploited.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI