CVE-2026-39987KEV · OVERDUECWE-306

marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass

Critical · published April 9, 2026

Patch now

Confirmed exploited, and the score agrees

CVSS calls it critical at 9.3. It is confirmed in active exploitation. It sits in the 98.5th percentile for exploit probability.

170
days past CISA
deadline
CVSS v4.0
9.3
EPSS
38%
Percentile
98.5
In the wild
Confirmed
What it is

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.

The record
Technical detail
CVSS v4.0
9.3 · CRITICAL
Vector
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
EPSS
0.37865 · 98.5th percentile
Weakness
CWE-306 · Missing Authentication for Critical Function
Published
2026-04-09T17:16Z
KEV added
2026-04-23 · due 2026-05-07
EPSS history
Timeline
  • 25 SEP 03:25Z
    EPSS moved 100% → 38%
    epss
  • 23 APR 00:00Z
    Added to CISA KEV — remediate by May 7
    kev
  • 09 APR 17:16Z
    marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
    cvelistv5