CVE-2026-67618

marimo < 0.23.15 API Key Exfiltration via Malicious Notebook PEP-723 Metadata

Published Aug 4, 2026 CVSS 4.0 · 7.1 High EPSS < 1% KEV · Not listed
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.

Analysis

AI-generated

Technical impact

The vulnerability resides in marimo versions prior to 0.23.15. It permits a notebook author to embed a malicious base_url within the PEP‑723 inline script metadata. Because the sanitize_pyproject_dict function fails to properly sanitize this field, the attacker-controlled value is applied with higher priority than the operator's own configuration. When an operator opens the notebook and initiates an AI request, marimo resolves the base_url from the notebook, falls back to the operator's OPENAI_API_KEY environment variable for authentication, and inadvertently transmits that key to the attacker‑controlled endpoint. As a result, the operator’s API key is exfiltrated without requiring any cell execution or additional interaction, exposing the operator to full credential compromise.

Affected Systems

The impacted product is marimo produced by the marimo‑team. All releases earlier than 0.23.15 are affected.

Risk and Exploitability

The CVSS score of 7.1 indicates high severity. EPSS information is not available, but the attack is straightforward: an operator must merely open a malicious notebook file, which does not require execution of code. The vulnerability is not listed in the CISA KEV catalog. Consequently, the exploitation likelihood is significant in environments where untrusted notebooks can be opened or where social engineering could lead operators to open such notebooks.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade marimo to 0.23.15 or later, which eliminates the injection flaw.
  • Enforce strict validation of notebook metadata so that base_url values originate only from trusted, vetted notebooks and reject any arbitrary URLs.
  • Minimize and regularly rotate operator API keys, and consider using short‑lived or scoped tokens rather than long‑lived environment variables.

Generated by OpenCVE AI on August 4, 2026 at 19:46 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
First Time appeared Marimo-team
Marimo-team marimo
Vendors & Products Marimo-team
Marimo-team marimo
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
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.
Title marimo < 0.23.15 API Key Exfiltration via Malicious Notebook PEP-723 Metadata
Weaknesses CWE-345
References
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N'}

cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-345

    Insufficient Verification of Data Authenticity

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Nov 8, 2026, 2:08 PM
Reserved
Jul 29, 2026, 9:07 PM
Status
Deferred
Published
Aug 4, 2026, 3:16 PM
Modified
Oct 23, 2026, 11:10 PM