← Vulnerability feed

Vulnerability record · CVE-2026-39987 · published 9 April 2026

CVE-2026-39987: Marimo terminal WebSocket endpoint missing authentication allows pre-auth RCE

Coreweave · Marimo

Marimo, a reactive Python notebook, exposes a terminal WebSocket endpoint (/terminal/ws) that skips the validate_auth() check applied to other WebSocket endpoints, accepting connections based only on running mode and platform support. An unauthenticated attacker can therefore obtain a full PTY shell and run arbitrary system commands. The flaw is fixed in 0.23.0 and is listed in CISA KEV with a very high EPSS score, so it warrants urgent action.

9.3 CVSS 4.0 Critical CISA KEV since 23 Apr 2026 EPSS 38% · top 1.5% CWE-306 · Missing authentication for critical function
9.3CVSS 4.0 base score
38%EPSS exploitation probability, 30 days
YesIn CISA KEV, fix deadline passed
1Affected product versions listed by NVD
5References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

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.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 16 September 2026. Confidence: high.

critical priorityUnauthenticated network-reachable remote code execution with a CVSS 4.0 score of 9.3, CISA KEV listing and near-certain EPSS probability makes this an urgent patch-first issue.

What it is

Marimo, a reactive Python notebook, exposes a terminal WebSocket endpoint (/terminal/ws) that skips the validate_auth() check applied to other WebSocket endpoints, accepting connections based only on running mode and platform support. An unauthenticated attacker can therefore obtain a full PTY shell and run arbitrary system commands. The flaw is fixed in 0.23.0 and is listed in CISA KEV with a very high EPSS score, so it warrants urgent action.

Impact

An attacker gains a full interactive PTY shell on the host running Marimo and can execute arbitrary system commands with the privileges of the Marimo process. This is complete loss of confidentiality, integrity and availability for the affected instance.

Attack surface

Reachable over the network via the /terminal/ws WebSocket endpoint; no authentication is required and no user interaction is needed, as the endpoint omits the validate_auth() call used elsewhere. Any network-exposed Marimo instance prior to 0.23.0 is a candidate target.

Exploitation

CVE-2026-39987 is in CISA KEV (added 2026-04-23, due 2026-05-07) and has an EPSS 30-day probability of 0.98945 (99.9th percentile). References are tagged Exploit, including a vendor advisory and a third-party write-up describing exploitation within 10 hours of disclosure, so active exploitation should be assumed.

What to do

  • Upgrade Marimo to 0.23.0 or later, which fixes the missing authentication check (patch commit c24d4806398f30be6b12acd6c60d1d7c68cfd12a).
  • If immediate patching is not possible, remove network exposure of the Marimo instance (bind to localhost, restrict access via firewall or reverse proxy) and follow CISA KEV required action per BOD 22-01.
  • Disable or block the /terminal/ws endpoint at the reverse proxy or load balancer until the upgrade is applied.
  • Audit any internet-facing Marimo deployments for unauthorized access and rotate credentials or secrets reachable from the host.
  • Track the CISA KEV due date of 2026-05-07 and confirm remediation before it lapses.

Detection

  • Monitor WebSocket upgrade requests to /terminal/ws in reverse proxy or application logs, especially from unauthenticated or unexpected source IPs.
  • Alert on shell or PTY process creation spawned by the Marimo process (e.g., unexpected /bin/sh, bash or python child processes).
  • Hunt for outbound connections or command execution originating from Marimo hosts that do not match normal notebook activity.
  • Review Marimo access logs for connections to /terminal/ws that bypass normal authentication flows.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Exploitation in the wild

CISA added CVE-2026-39987 to the Known Exploited Vulnerabilities catalog on 23 April 2026 as "Marimo Remote Code Execution Vulnerability". Required action: Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable. Federal deadline 7 May 2026.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

Track CVE-2026-39987 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

8.8CVE-2026-67277MikroTik RouterOS btest missing authentication leaks kernel memory and crashes kernelRouterOS accepts a "related" btest connection before the primary session is authenticated, letting an unauthenticated client start an IPv4 UDP test. …KEVEPSS 1.6%analysed8.8CVE-2026-59822LiteLLM MCP endpoint auth bypass via OAuth2 passthrough fallbackLiteLLM's MCP Streamable HTTP endpoint, prior to 1.84.0, let an unauthenticated attacker send a fabricated Authorization header that triggered an OAu…KEVEPSS 0.84%analysed9.3CVE-2026-72529TrueConf Server missing authentication allows remote script executionTrueConf Server versions 5.3.X through 5.3.9, 5.4.X through 5.4.9, 5.5.X through 5.5.5, and earlier expose an undocumented function on port 4307/TCP …KEVEPSS 1.5%analysed9.8CVE-2026-46817Oracle E-Business Suite Payments missing authentication allows takeoverOracle Payments in Oracle E-Business Suite 12.2.3 through 12.2.15 contains an easily exploitable flaw in the File Transmission component. An unauthen…KEVEPSS 0.81%analysed9.8CVE-2026-56164Microsoft SharePoint Server missing authentication allows privilege elevationMicrosoft Office SharePoint Server contains a missing authentication flaw in a critical function (CWE-306), letting an unauthenticated attacker reach…KEVEPSS 1.0%analysed9.8CVE-2026-20253Splunk Enterprise PostgreSQL sidecar missing authentication allows file writesSplunk Enterprise 10.2 below 10.2.4 and 10.x below 10.0.7 expose a PostgreSQL sidecar service endpoint that lacks authentication controls. Any networ…KEVEPSS 97%analysed9.8CVE-2026-35273Oracle PeopleSoft PeopleTools missing authentication allows takeoverOracle PeopleSoft Enterprise PeopleTools (Updates Environment Management component) in versions 8.61 and 8.62 is missing authentication for a critica…KEVEPSS 9.4%analysed9.3CVE-2026-41940cPanel and WHM login flow authentication bypasscPanel, WHM and WP Squared versions after 11.40 contain a missing-authentication flaw in the login flow (CWE-306) that lets unauthenticated remote at…KEVEPSS 99%analysed

Source: NIST National Vulnerability Database (record CVE-2026-39987), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.