Im interaktiven Notebook Marimo wurde die schwerwiegende Schwachstelle CVE-2026-75149 behoben, die es einem Angreifer erlaubte, über die Konfiguration eines speziell präparierten Notebooks einen beliebigen Model Context Protocol (MCP)-Befehl einzuschleusen. Beim Öffnen eines solchen Notebooks im Bearbeitungsmodus wurde der Befehl als lokaler Subprozess gestartet – noch bevor irgendeine Codezelle ausgeführt wurde. Die Schwachstelle betrifft alle Versionen von Marimo bis 0.23.15 und ist in diesem Release behoben. Anwender müssen mindestens auf Version 0.23.15 aktualisieren, vorzugsweise jedoch auf die aktuelle Version 0.24.0.
Technische Details der Schwachstelle
Laut dem CVE-Eintrag in der OSV-Datenbank wird die Schwachstelle als Code-Injektion klassifiziert. VulnCheck hat ihr als CNA-Organisation die Bewertung CVSS v4 8.7 und CVSS v3.1 8.8 zugewiesen. Für eine Ausnutzung ist eine Benutzerinteraktion erforderlich (das Öffnen des bösartigen Notebooks), eine Authentifizierung des Angreifers ist jedoch nicht nötig.
Der Angriffsmechanismus funktioniert wie folgt: Ein speziell präpariertes Notebook enthält in seinen Metadaten eine MCP-Serverkonfiguration mit einem beliebigen Befehl. Wenn das Opfer dieses Notebook im Bearbeitungsmodus öffnet, wird der angegebene Befehl als lokaler Subprozess gestartet – und zwar noch bevor irgendeine Notebook-Zelle ausgeführt wird. Das bedeutet, dass selbst ein vorsichtiger Nutzer, der keinen Code manuell ausführt, bereits durch das bloße Öffnen der Datei kompromittiert wird.
Die CVE wurde am 19. August 2026 veröffentlicht. Die Entdeckung der Schwachstelle wird dem Forscher Gregory Tan (Grg0rry) zugeschrieben, der auch als Mitautor des korrigierenden Commits aufgeführt ist.
Ansatz zur Behebung: Metadaten als nicht vertrauenswürdige Eingabe
Die zentrale Architekturentscheidung im PEP-723-Patch besteht darin, Notebook-Metadaten nun als potenziell vom Angreifer kontrollierte Eingabe zu behandeln. Jegliche Konfiguration, die aus dem Notebook stammt, wird durch eine Allowlist gefiltert. Die folgenden Konfigurationsabschnitte werden beim Laden zwangsweise entfernt:
- ai – Einstellungen für die KI-Integration
- mcp – Konfiguration von MCP-Servern
- completion – Parameter für Autovervollständigung
- secrets – Secrets und Schlüssel
- server – Servereinstellungen
Der Patch enthält einen Regressionstest, der eine vom Angreifer kontrollierte URL verwendet und überprüft, dass der Abschnitt mcp tatsächlich aus der geladenen Konfiguration entfernt wird.
Verwandte Schwachstellen: systemisches Vertrauensproblem bei Metadaten
CVE-2026-75149 ist kein Einzelfall. Dieselbe Vertrauensgrenze gegenüber Konfigurationen aus Notebook-Metadaten wurde bei einer separaten Schwachstelle CVE-2026-67618 (CVSS 7.1) ausgenutzt, die von VulnCheck am 4. August 2026 offengelegt wurde. In diesem Fall injizierte der Angreifer über die Metadaten des Notebooks eine bösartige Adresse des KI-Dienstes (base_url). Wenn der Operator anschließend eine Anfrage an die KI stellte, wurde sein API-Schlüssel an einen vom Angreifer kontrollierten Server übertragen – wiederum ohne dass eine Codezelle ausgeführt werden musste. Beide Schwachstellen betreffen Versionen vor 0.23.15.
Zuvor war in Marimo bereits eine weitere Schwachstelle – CVE-2026-39987 – entdeckt worden, die mit fehlender Authentifizierung am Endpoint /terminal/ws zusammenhing. Laut dem offiziellen Sicherheitshinweis von Marimo ermöglichten Anfragen an diesen Endpoint den Erhalt einer vollwertigen Pseudoterminal-Shell (PTY) und die Ausführung beliebiger Befehle. Dieses Problem betraf Version 0.20.4 und älter und wurde in Version 0.23.0 behoben.
Drei Schwachstellen in relativ kurzer Zeit deuten auf ein systemisches Problem hin: Marimo betrachtete Notebook-Dateien und deren Metadaten ursprünglich nicht als potenziell feindliche Eingabe. Dies ist ein typischer Fehler bei Werkzeugen, die für die lokale Nutzung entworfen wurden, später aber in kollaborativen und verteilten Szenarien eingesetzt werden, in denen Notebooks aus nicht vertrauenswürdigen Quellen stammen können.
Bewertung der Auswirkungen
Am stärksten gefährdet sind Datenspezialisten und Entwickler, die Marimo für die Zusammenarbeit nutzen oder Notebooks aus externen Quellen – Repositories, Foren, Schulungsmaterialien – beziehen. Das Öffnen einer bösartigen Datei im Bearbeitungsmodus genügt für eine Kompromittierung: Der Angreifer erhält die Möglichkeit, beliebigen Code im Kontext des lokalen Benutzers auszuführen, ohne dass sichtbare Warnhinweise erscheinen.
Empfehlungen
- Aktualisieren Sie Marimo auf Version 0.23.15 oder neuer. Die aktuelle Version auf PyPI ist 0.24.0 (veröffentlicht am 17. August 2026).
- Prüfen Sie die aktuell installierte Version mit dem Befehl
pip show marimo. - Öffnen Sie keine Notebooks aus nicht vertrauenswürdigen Quellen im Bearbeitungsmodus, bis das Update installiert ist.
- Prüfen Sie die Metadaten von Notebooks aus externen Quellen – kontrollieren Sie vor dem Öffnen, ob in der Konfiguration Abschnitte wie
mcp,ai,server,secretsvorhanden sind. - Gemäß der Sicherheitspolicy von Marimo werden Patches nur für den jeweils letzten stabilen Release bereitgestellt – das Vorhalten einer aktuellen Version ist daher kritisch wichtig.
Die drei in Marimo behobenen Schwachstellen, die in den Versionen 0.23.0 und 0.23.15 adressiert wurden, zeigen, dass das Format des interaktiven Notebooks nicht nur ein Dokument darstellt, sondern einen potenziellen Angriffsvektor. Die einzig verlässliche Maßnahme ist ein umgehendes Update auf Version 0.24.0 sowie eine Überarbeitung der teaminternen Praktiken zum Austausch von Notebooks – in dem Bewusstsein, dass eine Notebook-Datei eine bösartige Konfiguration enthalten kann, die ohne explizite Codeausführung wirksam wird.