CISA KEV · catalog date Apr 23, 2026 · first observed Jul 19, 2026
Evidence dossier
CVE-2026-39987
marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
Exploited in the wild (CISA KEV since Apr 23, 2026). GitHub_M reports CVSS 4.0 9.3. EPSS estimates 96.6% exploit likelihood as of Aug 1, 2026.
As of Aug 27, 2026
Normalized restatement
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.
- State
- PUBLISHED
- Published
- Apr 9, 2026
- Updated
- Apr 24, 2026
- Evidence coverage
- 92%
Evidence chronology
What was known when
- Source dateSource date omittedFirst observed by CASCACISA-ADPOriginal evidence ↗
Record text: CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
- Source dateSource date omittedFirst observed by CASCAGitHub_MOriginal evidence ↗
Record text: marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
Inspect raw assertion
- Field
container- Value
- marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
- Source dateFirst observed by CASCACISA KEVOriginal evidence ↗
Exploitation cataloged: Marimo Remote Code Execution Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Marimo Remote Code Execution Vulnerability
- Source dateFirst observed by CASCAFIRST EPSSOriginal evidence ↗
EPSS score: 96.58% probability · 99.88th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.965760000000; percentile 0.998770000000
FIRST EPSS · score date Aug 1, 2026 · 99.9th percentile · first observed Aug 1, 2026
GitHub_M · CVSS 4.0 · first observed Jul 19, 2026 · same-version scores align in this snapshot
Evidence detail
Source limits and decisions
Why each evidence state has this value
casca-unknown-reasons-v1Eligible evidence is present for this bounded claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Aug 27, 2026
- Resolution
- None
Eligible evidence is present for this bounded claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Aug 27, 2026
- Resolution
- None
Eligible evidence is present for this bounded claim.
- Revision
- casca-direct-cvss-eligibility-v1
- Cutoff
- Aug 27, 2026
- Resolution
- None
The cited source assertion is retained while canonical product linkage remains open.
- Revision
- casca-factor-d-obligations-v1
- Cutoff
- Aug 27, 2026
- Resolution
- Resolve identity
Source comparison
Who said what
CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
Inspect raw assertion
- Field
container- Value
- marimo Affected by Pre-Auth Remote Code Execution via Terminal WebSocket Authentication Bypass
Marimo Remote Code Execution Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Marimo Remote Code Execution Vulnerability
96.58% probability · 99.88th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.965760000000; percentile 0.998770000000
Applicability
Cited product scope
Grouped from 1 configuration nodes in this exact snapshot. Visual grouping is navigational; asset exposure and root cause require cited evidence.
Identity source boundaries
- Cpe dictionary1,775,266 records · observed through 2026-07-21T06:45:29.809Z
27d65b0f-b718-4b4f-bb79-c47c68d09dfa - Cpe match643,502 records · observed through 2026-07-21T08:13:17.697Z
955dae73-7302-438b-aee1-058d7cc5d48e
2 scope groups
Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "< 0.23.0"}]product-9aa5ef5100037fe07862575dbbe459b0e7a5f4c6747fa9508404169c1a061ae0Linked exactInspect raw assertion
cpe:2.3:a:coreweave:marimo:*:*:*:*:*:python:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 0
- Logic
- OR
- Version bounds
- through excluding 0.23.0
- Match ID
efa40e82-022f-42c3-a141-f4493a2a3e57
Affected-product evidence
Accepted scope and product mapping
1 canonical links · 1 source-reported links
vendor-d9cb98411b62466dd86ad794bd7298e438e5e4477f38f7951dee839a84ffe3f2 · product-9aa5ef5100037fe07862575dbbe459b0e7a5f4c6747fa9508404169c1a061ae0
- Source class
- Nvd cpe vulnerable target
- Assertions
- 1
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Aug 27, 2026
Retained assertion IDs
de1009a9-bd9c-41ae-9adb-2c480f60d5fdCanonical linkage remains open; the cited source assertion is retained below.
Vendor specified only by source · Product specified only by source
- Source class
- Direct cve affected
- Assertions
- 1
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Aug 27, 2026
Retained assertion IDs
f25787c5-abe0-4b4d-8992-4e2e6f8de684Assessments
CVSS by origin
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:NDirect CVE/CNA normalized decisions
GitHub_M
CVSS 4.0 · Primary · Original assertion · rank 1
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N- Validation
- Valid match
- Recomputed
- 9.3
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
Assessments are retained side by side under closed precedence. Cascade never averages CVSS.
Evidence boundaries
- KEV membership is authoritative for the catalog, not proof of exposure in any environment.
- EPSS is a dated model probability and not an individual-environment prediction.
- Affected or fixed status applies only to the exact cited product and version scope; remaining scope stays source-scoped.
- NVD-carried upstream facts remain derivative; independent corroboration requires a separately authored source.
- Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
- NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
- Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.
- OSV aggregation and OSV-converted NVD material are not independent corroboration.
- Red Hat facts are vendor assertions for the exact supplied products.
- Nonmembership and not-yet-observed states are not proof of safety.