Description
marimo before 0.23.15 contains a configuration injection vulnerability that allows notebook authors to exfiltrate operator API keys by embedding a malicious base_url in PEP-723 inline script metadata, which is merged into session configuration with higher precedence than the operator's own settings due to insufficient sanitization in sanitize_pyproject_dict. When an operator opens the crafted notebook and makes an AI request, marimo resolves the attacker-controlled base_url from the notebook config while falling back to the operator's OPENAI_API_KEY environment variable for authentication, transmitting the API key to the attacker-controlled endpoint without requiring any cell execution.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
marimo-team marimo
Default version status: affected
0 to < 0.23.15affected
pkg:github/marimo-team/marimoReferences
- https://github.com/marimo-team/marimo/releases/tag/0.23.15 ↗
- https://github.com/marimo-team/marimo/pull/10281 ↗
- https://github.com/marimo-team/marimo/commit/1a21bd71e258438d2511136b5edacc94c08855f4 ↗
- https://www.vulncheck.com/advisories/marimo-api-key-exfiltration-via-malicious-notebook-pep-723-metadata ↗