CVE-2026-39987

9.5 CISA KEV

Marimo · Marimo

Marimo reactive Python notebook versions prior to 0.23.0 contain a pre-authentication remote code execution vulnerability in the terminal WebSocket endpoint.

Executive summary

A critical pre-authentication remote code execution vulnerability in Marimo allows unauthenticated attackers to execute arbitrary system commands, and it is currently being exploited in the wild.

Vulnerability

The /terminal/ws WebSocket endpoint fails to perform authentication validation. This allows an unauthenticated attacker to establish a connection, obtain a full PTY shell, and execute arbitrary system commands on the underlying host.

Business impact

The CVSS score of 9.5 reflects the extreme risk posed by this vulnerability. Since the flaw is reachable without authentication, it allows for trivial remote code execution, which can lead to complete server takeover, lateral movement within the network, and the deployment of malicious payloads like the NKAbuse malware. The high exploitability and rapid weaponization by attackers make this a top-tier security priority.

Remediation

Immediate Action: Update the Marimo package to version 0.23.0 or later immediately.

Proactive Monitoring: Audit logs for suspicious connections to the /terminal/ws endpoint and monitor for anomalous child processes spawned by the Marimo service.

Compensating Controls: Use a Web Application Firewall (WAF) to block unauthorized WebSocket traffic to the /terminal/ws endpoint until the patch can be applied.

Exploitation status

Public Exploit Available: Yes (multiple public GitHub PoCs exist)

Analyst recommendation

Due to the ease of exploitation and the confirmed active use in the wild, this vulnerability presents an immediate and critical risk. All systems running vulnerable versions of Marimo must be updated to version 0.23.0 or taken offline until the update can be verified.

More Marimo CVEs

Sources