CriticalFixedBeing used in attacksClosedUpdated

Marimo terminal flaw CVE-2026-39987 exploited to run commands and steal credentials

Attackers are exploiting a missing login check in exposed Marimo editable notebooks to run commands and collect credentials. Update to 0.23.0 or later, restrict network access and investigate any previously exposed installation.

What to do

If you or your organisation use Marimo, ask whoever maintains it to update to 0.23.0 or later and restrict notebook access to trusted networks. Have them investigate any previously exposed installation and replace potentially exposed cloud keys, API tokens and database credentials.

What’s happening

Marimo, a Python notebook tool used for data analysis and development, exposed its editable notebook terminal without enforcing authentication. Attackers who could reach a vulnerable server could run commands with the Marimo process’s permissions, even when its built-in login protection was enabled. Marimo’s advisory lists versions through 0.20.4 as affected; GitHub’s reviewed entry lists all versions before 0.23.0. Both name 0.23.0 as fixed, and Marimo released it on 9 April. Run-mode applications, WebAssembly notebooks and molab are unaffected. Sysdig observed exploitation within ten hours of disclosure, followed by credential collection, database access and backdoor deployment. CISA confirmed exploitation on 23 April, and Sysdig reported another attack in September. As at 3 November, a fix is available, but updating cannot undo earlier credential theft; previously exposed installations need investigation and potentially exposed credentials need replacing.

What
Flaw
Affects
Marimo Python notebook server
Affected
Marimo <= 0.20.4, according to the vendor advisory; GitHub's reviewed advisory lists < 0.23.0.
Network-accessible editable notebook servers using only Marimo's built-in authentication.
Fixed in
Marimo 0.23.0
CVE
CVE-2026-39987
Since
8 Apr 2026
Closed
11 Sept 2026

Timeline

  1. Wider attacks

    Sysdig reported another observed attack using the flaw to collect cloud credentials and gain SSH access to a gateway server. The report shows attackers continued targeting the vulnerability months after a fix became available.

  2. CISA added

    CISA added CVE-2026-39987 to its Known Exploited Vulnerabilities catalogue, requiring US federal civilian agencies to act by 7 May. Its catalogue lists ransomware use as unknown.

  3. Wider attacks

    Sysdig reported 662 exploitation events observed from 11–14 April, including credential collection and access to connected databases. It also observed an NKAbuse backdoor variant being deployed on 12 April.

  4. Wider attacks

    Sysdig observed exploitation against its honeypots 9 hours and 41 minutes after disclosure. An attacker subsequently collected files containing planted credentials.

  5. New fixFixed

    Marimo released 0.23.0 with the security fix. Its release notice identifies editable notebooks exposed to the internet or shared networks as affected; run-mode applications, WebAssembly notebooks and molab are unaffected.

  6. Made publicNo fix yet

    Marimo disclosed CVE-2026-39987, a missing authentication check in its notebook terminal that lets remote attackers run system commands without logging in.

Sources

  1. Pre-Auth Remote Code Execution via Terminal WebSocket Authentication BypassMarimo · 8 Apr 2026
  2. Marimo 0.23.0 release and security announcementMarimo · 9 Apr 2026
  3. GitHub reviewed advisory for CVE-2026-39987GitHub · 27 Apr 2026
  4. Marimo OSS Python Notebook RCE: From Disclosure to Exploitation in Under 10 HoursSysdig · 9 Apr 2026
  5. CVE-2026-39987 update: How attackers weaponized marimo to deploy a blockchain botnet via HuggingFaceSysdig · 15 Apr 2026
  6. Machine speed, hold the AI: Hand-rolled marimo CVE-2026-39987 exploitSysdig · 11 Sept 2026
  7. Known Exploited Vulnerabilities catalogueCISA · 3 Nov 2026
HARD Live follows this until it’s over: each change is added to the timeline with its source. Everything live · Everything from April 2026 · JSON · RSS