Zum Hauptinhalt springen
S-EDV news
← Alle News
Sicherheit & Datenschutz 27.08.2026 · 6 min Lesezeit

Marimo CVE-2026-75149: MCP-Code-Injection vor Zellenausführung

In marimo-Versionen vor 0.23.15 genügt eine präparierte Notebook-Datei, um im Edit-Modus über einen manipulierten MCP-Server-Eintrag lokale Shell-Kommandos auszuführen, noch bevor eine Zelle läuft. CVE-2026-75149 gilt mit CVSS 8.8 (v3.1) beziehungsweise 8.7 (v4) als hoch eingestuft, seit 19. August 2026 öffentlich. Admins sollten sofort auf 0.23.15 oder neuer aktualisieren und fremde Notebooks nicht im Edit-Modus öffnen.

Sicherheitswarnung zu CVE-2026-75149 mit Notebook-Code, MCP-Code-Injection und Warnsymbolen auf einem technischen Dashboard.

Betroffen sind nach dem am 19. August 2026 veröffentlichten CVE-Datensatz alle marimo-Versionen vor 0.23.15. Der Angriffspfad führt über eine präparierte Notebook-Datei mit einem manipulierten MCP-Server-Eintrag: Öffnet ein Nutzer die Datei im Edit-Modus, kann marimo den hinterlegten Befehl als lokalen Subprozess starten, noch bevor eine Zelle läuft. Bestätigt sind Versionsgrenze, Edit-Modus als Auslöser und die erforderliche Nutzerinteraktion. Nicht bestätigt ist bislang eine aktive Ausnutzung in freier Wildbahn.

Wegen möglicher vollständiger Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit ist die Aktualisierung dringend. Admins sollten mit marimo --version oder der Paketverwaltung prüfen, welche Version in virtuellen Umgebungen, Containern und zentralen Notebook-Diensten läuft. Systeme unter 0.23.15 müssen aktualisiert werden, Notebooks aus unklarer Quelle gehören bis dahin nicht in den Edit-Modus. Die öffentliche Bewertung liegt bei CVSS 8.8 nach Version 3.1 und 8.7 nach Version 4.0.

Was CVE-2026-75149 gefährlich macht

marimo ist ein reaktives Python-Notebook, das in Data-Science-, Analyse- und KI-Projekten häufig wie Quellcode geteilt wird. Eine Datei kann wie ein gewöhnliches Arbeitsdokument wirken, enthält aber Konfiguration, die beim Öffnen ausgewertet wird.

Der dokumentierte Fehler liegt im Handler für die Notebook-Konfiguration. Ein Angreifer kann dort einen MCP-Server-Eintrag mit kontrolliertem Kommando hinterlegen. MCP steht für Model Context Protocol und verbindet KI-Anwendungen mit Werkzeugen oder Datenquellen. Für den Angriff muss kein Modell eine bösartige Antwort erzeugen, der gefährliche Wert steckt bereits in der Datei.

  • Der Angreifer muss eine präparierte marimo-Datei bereitstellen.
  • Ein Nutzer muss diese Datei mit einer anfälligen Version im Edit-Modus öffnen.
  • Die Ausführung erfolgt im Kontext des angemeldeten Nutzers oder Dienstkontos.
  • Eine manuelle Ausführung einer Notebook-Zelle ist nicht erforderlich.
  • Für den beschriebenen Pfad ist keine vorherige Anmeldung des Angreifers nötig.

Angriff vor der ersten Zelle

Bei klassischen Notebook-Risiken erwarten viele Nutzer, dass erst ein sichtbarer Codeblock ausgeführt werden muss. Diese Annahme greift hier zu kurz. Laut CVE-Beschreibung verarbeitet marimo den präparierten MCP-Eintrag beim Öffnen im Edit-Modus und startet den angegebenen Befehl als lokalen Subprozess, noch vor der bewussten Zellenausführung.

Das bedeutet nicht, dass jede empfangene Datei automatisch Schadcode startet. Die Nutzerinteraktion bleibt Bestandteil des Angriffs, in CVSS 3.1 als UI:R und in CVSS 4.0 als passive Interaktion abgebildet. In Teams mit regelmäßigem Notebook-Austausch ist diese Hürde jedoch niedrig. Ein Link in einem Ticket oder ein angebliches Analysebeispiel kann genügen, damit jemand die Datei öffnet.

MerkmalBestätigter StandBedeutung für den Betrieb
CVECVE-2026-75149, CWE-94Unzureichende Kontrolle bei der Erzeugung von ausführbarem Code
Betroffene VersionenAlle Versionen kleiner als 0.23.15Auch ältere virtuelle Umgebungen und Container prüfen
AuslöserÖffnen eines präparierten Notebooks im Edit-ModusKeine Zellenausführung erforderlich
AngreiferrechteKeine vorherigen Privilegien erforderlichDateiübermittlung oder Repository-Zugriff kann reichen
NutzerinteraktionErforderlichDie Datei muss geöffnet werden
Behobene Version0.23.15 oder neuerAktuelle stabile Version einsetzen

CVSS-Bewertung richtig einordnen

Der von VulnCheck als CNA bereitgestellte Datensatz bewertet die Lücke mit 8.8 nach CVSS 3.1 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) und mit 8.7 nach CVSS 4.0, mit hohen Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit.

Der Netzwerk-Angriffsvektor darf nicht als Beleg für einen vollständig automatischen Fernangriff missverstanden werden. Die präparierte Datei muss zum Ziel gelangen und im Edit-Modus geöffnet werden. Danach läuft der Prozess mit den Rechten der marimo-Instanz, denkbare Folgen reichen vom Lesen erreichbarer Projektdateien über Manipulationen bis zur Installation weiterer Schadsoftware.

Zum Recherchezeitpunkt ist CVE-2026-75149 nicht im Known Exploited Vulnerabilities Catalog der CISA aufgeführt. Das ist keine Entwarnung, sondern belegt nur, dass CISA die Lücke derzeit nicht als nachweislich aktiv ausgenutzt listet.

Welche Systeme Admins prüfen sollten

Eine Inventur darf sich nicht auf die globale Python-Installation beschränken. marimo kann pro Projekt, per pipx, in Conda-Umgebungen, mit uv oder in Container-Images installiert sein, und Entwickler betreiben oft lokale Instanzen, die in einer zentralen Softwareinventur nicht auftauchen.

  1. Mit marimo --version die aktive Kommandozeilenversion prüfen.
  2. Mit python -m pip show marimo Paketversion und Installationspfad kontrollieren.
  3. Projektdateien wie pyproject.toml und Lockdateien auf feste ältere Versionen durchsuchen.
  4. Container-Images und Build-Pipelines auf marimo-Versionen unter 0.23.15 prüfen.
  5. Notebook-Ablagen, geteilte Laufwerke und eingehende Pull Requests auf unbekannte Dateien kontrollieren.
  6. Dienstkonten auf unnötige Zugriffe zu Secrets, Cloud-Credentials und Produktionsdaten prüfen.

Besonders kritisch sind Instanzen mit umfangreichen Rechten. Ein Notebook-Editor sollte nicht unter einem Konto mit unbeschränktem Zugriff auf Produktionsdatenbanken, Cloud-Administrationsschlüssel oder CI/CD-Secrets laufen.

Update und Sofortmaßnahmen

Die klare Abhilfe ist ein Update auf marimo 0.23.15 oder neuer. Das Release wurde laut offizieller GitHub-Veröffentlichung bereits am 23. Juli 2026 bereitgestellt, vor der Veröffentlichung des CVE-Eintrags. Die öffentlichen Release Notes nennen CVE-2026-75149 nicht ausdrücklich, ein separates GitHub Security Advisory zu dieser CVE war bei der Recherche nicht auffindbar. Die Versionsgrenze wird aber im CVE-Datensatz der zuständigen CNA eindeutig angegeben und durch mehrere Schwachstellendatenbanken bestätigt.

  • marimo in jeder Umgebung auf mindestens 0.23.15 aktualisieren.
  • Nach dem Update den Prozess oder Container neu starten und die aktive Version erneut prüfen.
  • Gesperrte Abhängigkeiten und Basis-Images aktualisieren, damit alte Versionen nicht zurückkehren.
  • Bis zum Update den Edit-Modus für Dateien unbekannter Herkunft vermeiden.
  • Notebook-Dateien wie ausführbaren Quellcode behandeln und vor dem Öffnen prüfen.
  • Editor-Prozesse mit minimalen Dateisystem-, Netzwerk- und Secret-Rechten betreiben.

Wenn ein sofortiges Update nicht möglich ist: keine unüberprüften Notebooks im Edit-Modus öffnen. Ein isolierter Testcontainer ohne Secrets und mit eingeschränktem Netzwerkzugriff reduziert das Risiko bei notwendiger Analyse, ersetzt aber nicht das Update.

Hinweise für Incident Response

Teams, die möglicherweise präparierte Dateien geöffnet haben, sollten nicht nur die Notebook-Zellen prüfen, sondern auch Prozesshistorie, Shell-Logs, EDR-Telemetrie und ungewöhnliche Netzwerkverbindungen im Zeitfenster beim Öffnen der Datei auswerten.

  • Verdächtige Notebook-Datei sichern und ihren Hash dokumentieren.
  • MCP-Konfiguration extrahieren, ohne die Datei erneut in einer anfälligen Umgebung zu öffnen.
  • Kindprozesse des marimo-Prozesses im relevanten Zeitfenster auswerten.
  • Zugriffe auf SSH-Schlüssel, Token-Dateien, Umgebungsvariablen und Cloud-Credentials prüfen.
  • Bei Verdacht erreichbare Zugangsdaten rotieren und aktive Sitzungen widerrufen.

Ein Versionsupdate beseitigt die Verwundbarkeit, aber nicht die Folgen einer bereits erfolgten Kompromittierung. Wurde ein unbekannter Befehl ausgeführt, muss das Ereignis wie eine lokale Codeausführung behandelt werden.

MCP-Konfiguration als Vertrauensgrenze

Der Fall zeigt ein grundsätzliches Problem moderner KI-Werkzeuge: Konfiguration ist nicht immer passiv. Ein MCP-Server-Eintrag kann festlegen, welches lokale Programm gestartet wird. Werden solche Angaben aus einem transportablen Dokument übernommen, überschreitet die Datei eine Vertrauensgrenze. Notebook-Dateien aus externen Quellen sollten deshalb wie Skripte einen Review durchlaufen, zulässige MCP-Server über Positivlisten begrenzt werden, sofern die Plattform das unterstützt.

Passende Anleitungen auf S-EDV

Quellen

marimoCVE-2026-75149MCPCode InjectionKI-SicherheitPythonNotebook-Sicherheit