Marimo Remote Code Execution Vulnerability
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…
Severity = CVSS. Probability = EPSS (FIRST). Exploitation = public signals: KEV, EUVD, ransomware, EPSS above 10 %, no account required.
Exploitation probability EPSS · FIRST
Exploitation signals 4 / 5
- KEV catalog (CISA)23 Apr 2026
- Exploited in EUVD (ENISA)23 Apr 2026
- Used by ransomwareno
- EPSS above 10 %99.6%
- No account, over the networkyes
What to do
Fix
Apply the vendor’s fix as soon as it is available.
CISA guidance: Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
Meanwhile
Take the service off the internet or restrict access to it, watch the logs and look for signs of compromise.
Manufacturers (CRA)
Exploited vulnerability in your product: early warning to ENISA within 24 h, then notification within 72 h (Article 14 of the Cyber Resilience Act). The CRA explained
Description ENISA EUVD
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.
Affected products
- < 0.23.0
Open source packages OSV
Affected libraries according to OSV, with fixed versions.
Timeline
-
Published
-
Exploitation reported (ENISA)
-
Added to the KEV catalog
-
CISA remediation due date
-
EPSS peak: 99.6%