
CVE-2026-39987

A reactive Python notebook tool gave attackers a full shell in one WebSocket request.
CVE-2026-39987 is a critical pre-auth RCE vulnerability in marimo — a popular open-source reactive notebook for Python (modern Jupyter alternative).
/terminal/ws WebSocket endpointExploitation was observed in the wild within ~10 hours of the public disclosure — no public exploit code was needed.
The /terminal/ws endpoint only checked running mode and platform support.
Unlike other endpoints (e.g. /ws), it skipped validate_auth() entirely.
This allowed any unauthenticated user who could reach the marimo server to:
marimo 0.23.0 (released April 2026)
Patch: Proper authentication validation was added to the terminal WebSocket endpoint.
pip install --upgrade "marimo>=0.23.0"
Official Advisory:
GHSA-2679-6mx9-h9xc
Patch Commit:
marimo-team/marimo@c24d480
pip-audit, Dependabot, or OSVMade with ❤️ for the open-source community
Stay safe. Update early. Update often.