{"id":45312,"date":"2026-04-10T21:51:08","date_gmt":"2026-04-10T13:51:08","guid":{"rendered":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/2026\/04\/10\/marimo-rce-flaw-cve-2026-39987-exploited-within-10-hours-of-disclosure\/"},"modified":"2026-04-10T21:51:08","modified_gmt":"2026-04-10T13:51:08","slug":"marimo-rce-flaw-cve-2026-39987-exploited-within-10-hours-of-disclosure","status":"publish","type":"post","link":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/2026\/04\/10\/marimo-rce-flaw-cve-2026-39987-exploited-within-10-hours-of-disclosure\/","title":{"rendered":"Marimo RCE Flaw CVE-2026-39987 Exploited Within 10 Hours of Disclosure"},"content":{"rendered":"<div style=\"clear: both;\"><a href=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgLOQ2mcgefzP_nej8R2XYY5eLnbFWle2koFcBGH6gyLGu10rBVnI3f3oHUmafvlbNJFc8N50ghG-0d_MP-oLzJcZpObdY8MU67qbCc36iWMApPM0Z6QfMrklCirpFSnyXZeMyHIdD4NyfixepzOZ72qiadKBmUvdkNuzPs-QbZnuSUMBaxA0sWYmTT63v-\/s1600\/marimo.jpg\" style=\"display: block; padding: 1em 0; text-align: center; clear: left; float: left;\"><img decoding=\"async\" border=\"0\" data-original-height=\"470\" data-original-width=\"900\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEgLOQ2mcgefzP_nej8R2XYY5eLnbFWle2koFcBGH6gyLGu10rBVnI3f3oHUmafvlbNJFc8N50ghG-0d_MP-oLzJcZpObdY8MU67qbCc36iWMApPM0Z6QfMrklCirpFSnyXZeMyHIdD4NyfixepzOZ72qiadKBmUvdkNuzPs-QbZnuSUMBaxA0sWYmTT63v-\/s1600\/marimo.jpg\" alt=\"Marimo RCE Flaw CVE-2026-39987 Exploited Within 10 Hours of Disclosure\"\/><\/a><\/div>\n<p>A critical security vulnerability&nbsp;in <a href=\"https:\/\/docs.marimo.io\/\">Marimo<\/a>, an open-source Python notebook for data science and analysis, has been exploited within 10 hours of public disclosure, according&nbsp;to <a href=\"https:\/\/www.sysdig.com\/blog\/marimo-oss-python-notebook-rce-from-disclosure-to-exploitation-in-under-10-hours\">findings<\/a> from&nbsp;Sysdig.<\/p>\n<p>The vulnerability in question&nbsp;is <strong>CVE-2026-39987<\/strong> (CVSS score: 9.3), a pre-authenticated remote code execution vulnerability impacting all versions of Marimo prior to and including 0.20.4. The&nbsp;issue has been addressed&nbsp;in <a href=\"https:\/\/github.com\/marimo-team\/marimo\/releases\/tag\/0.23.0\">version&nbsp;0.23.0<\/a>.<\/p>\n<p>&#8220;The terminal WebSocket endpoint \/terminal\/ws lacks authentication validation, allowing an unauthenticated attacker to obtain a full PTY shell and execute arbitrary system commands,&#8221; Marimo maintainers <a href=\"https:\/\/github.com\/marimo-team\/marimo\/security\/advisories\/GHSA-2679-6mx9-h9xc\">said<\/a> in an advisory earlier this&nbsp;week.<\/p>\n<p>&#8220;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.&#8221;<\/p>\n<p>In other words, attackers can obtain a full interactive shell on any exposed Marimo instance through a single WebSocket connection without requiring any credentials.<\/p>\n<p>Sysdig said it observed the first exploitation attempt targeting the vulnerability within 9 hours and 41 minutes of it being publicly disclosed, with a credential theft operation executed in minutes, despite there being no proof-of-concept (PoC) code available at the&nbsp;time.<\/p>\n<p>The unknown threat actor behind the activity is said to have connected to the \/terminal\/ws WebSocket endpoint on a honeypot system and initiated manual reconnaissance to explore the file system and, minutes later, systematically attempted to harvest data from the .env&nbsp;file, as well as search for SSH keys and read various&nbsp;files.<\/p>\n<p>The attacker returned to the honeypot an hour later to access&nbsp;the contents of&nbsp;the .env&nbsp;file and&nbsp;check if other threat actors were active&nbsp;during the time&nbsp;window. No other payloads, like cryptocurrency miners or backdoors, were installed.<\/p>\n<p>&#8220;The attacker built a working exploit directly from the advisory description, connected to the unauthenticated terminal endpoint, and began manually exploring the compromised environment,&#8221; the cloud security company said. &#8220;The attacker connected four times over 90 minutes, with pauses between&nbsp;sessions. This is consistent with a human operator working through a list of targets, returning to confirm findings.&#8221;<\/p>\n<p>The speed at which newly disclosed flaws&nbsp;are being weaponized indicates that threat actors are&nbsp;closely keeping an eye&nbsp;on vulnerability disclosures and quickly exploiting&nbsp;them during the&nbsp;time between disclosure and patch&nbsp;adoption.This, in turn,&nbsp;has shrunk the time&nbsp;defenders must respond once a vulnerability is publicly&nbsp;announced.<\/p>\n<p>&#8220;The assumption that attackers only target widely deployed platforms is wrong. Any&nbsp;internet-facing application with a critical advisory is a target, regardless of its popularity.&#8221;<\/p>\n<div><\/div>\n<div>Found this article interesting?  Follow us on <a href='https:\/\/news.google.com\/publications\/CAAqLQgKIidDQklTRndnTWFoTUtFWFJvWldoaFkydGxjbTVsZDNNdVkyOXRLQUFQAQ' rel='noopener' target='_blank'>Google News<\/a>, <a href='https:\/\/twitter.com\/thehackersnews' rel='noopener' target='_blank'>Twitter<\/a> and <a href='https:\/\/www.linkedin.com\/company\/thehackernews\/' rel='noopener' target='_blank'>LinkedIn<\/a> to read more exclusive content we post.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A critical security vulnerability&nbsp;in Marimo, an open-source Python notebook for data science and analysis, has been exploited within 10 hours of public disclosure, according&nbsp;to findings from&nbsp;Sysdig.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-45312","post","type-post","status-publish","format-standard","hentry","category-thehackernews"],"_links":{"self":[{"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/posts\/45312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/comments?post=45312"}],"version-history":[{"count":0,"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/posts\/45312\/revisions"}],"wp:attachment":[{"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/media?parent=45312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/categories?post=45312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nuoya.nuoyayasuo.top\/index.php\/wp-json\/wp\/v2\/tags?post=45312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}