Home

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.

PUBLISHED Reserved 2026-04-08 | Published 2026-04-09 | Updated 2026-04-24 | Assigner GitHub_M




CRITICAL: 9.3CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

CISA Known Exploited Vulnerability

Date added 2026-04-23 | Due date 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.

Problem types

CWE-306: Missing Authentication for Critical Function

Product status

< 0.23.0
affected

References

www.sysdig.com/...sclosure-to-exploitation-in-under-10-hours third-party-advisory

www.cisa.gov/...erabilities-catalog?field_cve=CVE-2026-39987 government-resource

github.com/...marimo/security/advisories/GHSA-2679-6mx9-h9xc

github.com/marimo-team/marimo/pull/9098

github.com/...ommit/c24d4806398f30be6b12acd6c60d1d7c68cfd12a

cve.org (CVE-2026-39987)

nvd.nist.gov (CVE-2026-39987)

Download JSON