CVE-2026-39987: Marimo Remote Code Execution Vulnerability
CVE-2026-39987 is a critical-severity flaw (CVSS 9.8) affecting marimo, reported as exploited in the wild. Below: why it ranks where it does, which versions are affected, what to do, and the exact commands.
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 supp
Why this priority
- Critical severity
- EPSS top 1%: very likely to be exploited
- Exploited in the wild (CISA KEV)
- Public exploit reference
- CISA SSVC: automatable with total technical impact
- Remotely exploitable, no login, no user action
A fixed release or distro patch exists.
Risk facts
| CVSS score | 9.8 (Critical) |
| Attack vector | Network (remote) |
| Attack complexity | Low |
| Privileges needed | None |
| User interaction | None |
| EPSS exploit chance | 99.6% (top 1%) |
| CISA exploited list | Yes, fix due 2026-05-07 |
| Weakness | CWE-306 |
| Published | 2026-04-09 |
| Last modified | 2026-06-17 |
Last updated 2026-06-17 · Sources: CVE Program, NVD, CISA KEV, EPSS and vendor advisories · How we score
Am I affected?
Timeline
- Published CVE record published
- Exploited Added to the CISA Known Exploited Vulnerabilities list
- Deadline CISA due date for US federal agencies to patch
- Updated Record last modified
Exact fixes by distribution
Public exploits and detection
Public code exists for this CVE. Treat unpatched systems as at risk, and only run PoCs in a lab.
- GitHub PoC: Th3Purge/CVE-2026-39987 (9 stars)
- GitHub PoC: M3PH1569/CVE-2026-39987-POC (5 stars)
- GitHub PoC: keraattin/CVE-2026-39987 (1 stars)
- Write-up: github.com/marimo-team/marimo/security/advisories/GHSA-2679-6mx9-h9xc
- Write-up: www.sysdig.com/blog/marimo-oss-python-notebook-rce-from-disclosure-to-exploitation-in-unde
- Exploit-DB: Marimo 0.20.4 - RCE
- Nuclei scan template: Marimo <= 0.20.4 - Pre-Auth Terminal WebSocket RCE
Advisories and coverage
Research and news
- Sysdig Threat Research: Machine speed, hold the AI: Hand-rolled marimo CVE-2026-39987 exploit 2026-09-11
- Sysdig Threat Research: CVE-2026-39987 update: How attackers weaponized marimo to deploy a blockchain botnet via HuggingFace 2026-04-15
Scores and fixes here are computed automatically from those and other public sources. Confirm with the vendor advisory before changing production systems.
Quick answers
How do I fix CVE-2026-39987?
marimo: upgrade to 0.23.0. Exact commands for each OS are on this page.
Is CVE-2026-39987 being exploited?
Yes. CVE-2026-39987 is on the CISA Known Exploited Vulnerabilities list, so treat it as patch-now.
What does CVE-2026-39987 affect?
CVE-2026-39987 affects marimo. Severity is critical (CVSS 9.8). 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 an
How urgent is CVE-2026-39987?
Priority 97/100. Critical severity; EPSS top 1%: very likely to be exploited; Exploited in the wild (CISA KEV); Public exploit reference; CISA SSVC: automatable with total technical impact; Remotely exploitable, no login, no user action