CVE Tools

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. Fixed in 0.23.0.

Check it yourself

Nuclei · 1 template

e.g. Marimo <= 0.20.4 - Pre-Auth Terminal WebSocket RCE

Run the check

Published Updated Sources: CVE.org, NVD, BDU

What to do

Find your product and version, then upgrade to the build on the right.

  • Marimo-team MarimoAffected: < 0.23.0Upgrade to: not statedStated by: CVE record
  • Coreweave MarimoAffected: < 0.23.0Upgrade to: 0.23.0Stated by: NVD

Versions as the sources state them. Full version matrix after sign-in

Steps

Written by AI from the record
  1. Check whether your Marimo deployment is running a version earlier than 0.23.0 and whether the terminal functionality is enabled.
  2. Upgrade Marimo to 0.23.0 (or a later release) to remove the unauthenticated terminal WebSocket command-execution path.
  3. 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.
  4. After updating, review server logs and alerts for signs of command execution attempts or unusual outbound connections from the Marimo host.

Coverage timeline

1 publisher
  1. An unknown threat actor exploited a publicly accessible Marimo instance via CVE-2026-39987 and then used an LLM agent for rapid post-compromise credential theft and internal DB exfiltration.

    ·The Hacker News summary
  2. Vendor patch released

    ·The Hacker News summary
  3. Technical analysis published

    ·The Hacker News summary
  4. Added to CISA KEV catalog

    ·CISA KEV

Sourced from public security reporting — each date is when it was published, not when it happened. 6 further articles named this CVE in wider roundups without reporting it as a distinct event.

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 record

Marimo 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.

EPSS99th
CISA KEV
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

100% chance of exploitation activity in the next 30 days, which ranks it in the 99th percentile of scored CVEs.

Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.

Lifecycle

16 events over 199 days, from the signal feeds we watch.

  1. EPSS band changemoderate → criticalepss band change
  2. EPSS band changecritical → moderate
  3. EPSS band changecritical → moderate
  4. EPSS band changecritical → moderateepss band change
  5. EPSS band changehigh → critical
  6. EPSS band changelow → high

Affected products

Technical detail

CVSS: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

And 6 more references. See all after sign-in

Analysis on the cve.tools blog

In the news

All news

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.