CVE-2026-54386 json
marimo < 0.23.9 XSS via file Query Parameter in assets.py
published 2026-06-17 4 mo ago modified 2026-11-08 26 h ago also EUVD-2026-37809 , GHSA-8m59-7xv8-735h , PYSEC-2026-2619
- cvss
- 6.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 15%
- public exploits
- 0
- none known
Summary
marimo before 0.23.9 contains a reflected cross-site scripting vulnerability in the notebook page that allows unauthenticated attackers to inject arbitrary JavaScript by exploiting improper escaping of single quotes in the file query parameter reflected into an inline JavaScript string literal. Attackers can craft a malicious link with a payload beginning with __new__ to bypass the 404 check and inject JavaScript into the page, which executes without Content-Security-Policy restrictions in the origin of a victim's marimo server.
Patch / fix
- pypi marimo 0.23.9
- marimo-team marimo 0.23.9
- github.com/marimo-team/marimo@fdd55c8 commit
- github.com/marimo-team/marimo#9789 pull request
- github.com/marimo-team/marimo/releases/tag/0.23.9 release
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 4 mo ago
Exploit prediction
0.24% chance of exploitation in the next 30 days, higher than 15% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N |
| CNA | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| CNA | 4.0 | 5.1 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/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:X |
| OSV | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | marimo | <0.23.9 |
0.23.9 |
Affected products
- marimo-team marimo
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/marimo-team/marimo/pull/9789
issue-tracking, patch, web
-
github.com
/marimo-team/marimo/commit/fdd55c8cf6260ae23bb411dc9d9269def5cf75d6
patch, web
-
github.com
/marimo-team/marimo/releases/tag/0.23.9
release-notes, web
-
vulncheck.com
/advisories/marimo-xss-via-file-query-parameter-in-assets-py
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-54386
advisory
-
github.com
/marimo-team/marimo
package
-
pypi.org
/project/marimo
package
-
github.com
/advisories/GHSA-8m59-7xv8-735h
advisory
Sources
- CVE List CVE-2026-54386
- GitHub Advisory GHSA-8m59-7xv8-735h
- NVD CVE-2026-54386
- OSV PYSEC-2026-2619
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.