Ungepatchte LMCache-Schwachstelle ermöglicht Remotecodeausführung
KI-generiertes Bild

Ungepatchte LMCache-Schwachstelle ermöglicht Remotecodeausführung

Eine kritische ungepatchte Schwachstelle in LMCache ermöglicht es Angreifern, ohne Authentifizierung Code auf Cache-Servern auszuführen. Betroffen sind die Versionen 0.3.9 bis 0.5.5, und es existiert kein Fix.

Eine kritische ungepatchte LMCache-Schwachstelle ermöglicht es einem Angreifer, Code auf einem Cache-Server aus der Ferne auszuführen, ohne sich vorher anzumelden, wie aus einer am 7. Oktober von JFrog veröffentlichten Offenlegung hervorgeht. LMCache ist eine Open-Source-Software, die Server für große Sprachmodelle (LLMs) wie vLLM beschleunigt, also Werkzeuge, die Text mit künstlicher Intelligenz erzeugen und verarbeiten, indem sie wiederholte Arbeit speichert, sodass das Modell sie nicht erneut berechnen muss. Die Schwachstelle liegt im Multiprozess-Modus von LMCache, in dem der Cache als eigenständiger Server läuft, den LLM-Worker über die ZeroMQ-Messaging-Bibliothek erreichen, ein System zur Nachrichtenübermittlung zwischen Programmen. Eine einzige manipulierte Netzwerknachricht an diesen Server kann Befehle mit denselben Rechten wie der LMCache-Prozess ausführen.

Der ZeroMQ-Socket, den der Multiprozess-Server öffnet, damit sich Worker-Prozesse registrieren und zwischengespeicherte Daten austauschen können, verfügt über keine Authentifizierung, nimmt also Nachrichten an, ohne zu prüfen, wer sie gesendet hat. Ein Nachrichtentyp wird mit pickle entpackt, einem Python-Format, das Code enthalten und beim Dekodieren der Daten ausführen kann. Der Server entpackt diese Nachricht, während er noch ihre Argumente liest, bevor er den Nachrichtentyp prüft, sodass eine manipulierte Nachricht den Code des Senders ausführen kann. Das Sicherheitsforschungsteam von JFrog hat die Schwachstelle gefunden; die Entdeckung wird Yuval Moravchick zugeschrieben. Auf den offiziellen Container-Images des Projekts läuft der LMCache-Prozess als root, das mächtigste Konto auf einem Linux-System, sodass ein erfolgreicher Angriff laut JFrog die volle Kontrolle über die Maschine erlangen kann.

Ob ein Server von einem anderen Rechner aus erreichbar ist, hängt von einer Einstellung ab. Standardmäßig lauscht der Multiprozess-Server nur auf dem lokalen Rechner, sodass ein anderer Host ihn nicht erreichen kann. Er wird erreichbar, wenn ein Betreiber ihn mit einer routbaren Adresse startet, wie es bei Multi-Node-Bereitstellungen der Fall ist, die einen Cache über mehrere Maschinen hinweg teilen. Die eigene Beispiel-Kubernetes-Bereitstellung von LMCache, ein System zum Ausführen containerisierter Anwendungen, startet den Server auf diese Weise und lauscht auf jeder Netzwerkschnittstelle. Eine Kopie von LMCache, die innerhalb eines einzelnen vLLM-Prozesses läuft, öffnet den Port überhaupt nicht.

Die Schwachstelle wird als CVE-2026-105192 verfolgt und hat einen Schweregrad von 9,8 von 10, also im kritischen Bereich, die Bewertung, die JFrog einem an eine routbare Adresse gebundenen Server gibt. Sie betrifft LMCache von Version 0.3.9, veröffentlicht im Oktober 2025, bis 0.5.5, der neuesten stabilen Version, und ist auch in den 0.5.6-Release-Kandidaten und im Entwicklungszweig vorhanden. Es existiert keine gepatchte Version. LMCache hat keine Sicherheitshinweis zu der Schwachstelle veröffentlicht, und der Hinweis von JFrog bietet Betreibern keine Möglichkeit festzustellen, ob ein Server bereits angegriffen wurde.

Unabhängig davon hat ein GitHub-Benutzer am 6. Oktober, einen Tag bevor CVE-2026-105192 öffentlich gemacht wurde, sechs weitere LMCache-Sicherheitsberichte eröffnet. Diese Berichte behaupten, dass ein unauthentifizierter Zugriff auf zwischengespeicherte Daten verschiedener Mandanten sowie auf mehrere Netzwerkdienste möglich sei, die Befehle ohne Anmeldung ausführen. Sie stammen von einem einzigen Konto, beruhen auf Proof-of-Concept-Behauptungen und haben keine CVE, keine Bestätigung der Maintainer und keinen Fix. Ein Bericht weist auf ein Standardverhalten von LMCache hin, das sich inzwischen geändert hat: Ein Admin-HTTP-Server, der in Version 0.5.5 auf jeder Netzwerkschnittstelle lauschte, lauscht in den 0.5.6-Release-Kandidaten nur noch auf dem lokalen Host.

Eine verwandte Schwachstelle in vLLM ist bereits behoben. Vor Version 0.30.0, veröffentlicht am 22. September, konnte eine einzelne Anfrage mit einem fehlerhaften cache_salt-Wert die Engine bei Bereitstellungen zum Absturz bringen, die den LMCache-Multiprozess-Connector verwenden. Dieser Denial-of-Service-Fehler wird als CVE-2026-105756 verfolgt, mit 6,5 bewertet und ermöglicht keine Codeausführung. Der Kernfehler, Daten von einem nicht authentifizierten Netzwerk-Socket an pickle zu übergeben, ist derselbe, den Forscher im November 2025 in anderen KI-Inferenz-Frameworks in einer Gruppe von Schwachstellen namens ShadowMQ fanden. Ob der Code von LMCache eine gemeinsame Quelle mit diesen Projekten hat, ist nicht geklärt.

Bis eine gepatchte Version veröffentlicht wird, rät JFrog Betreibern, dem Multiprozess-Server keine routbare Adresse zuzuweisen und seinen Port auf dem lokalen Rechner oder in einem vertrauenswürdigen Cluster-Netzwerk zu belassen. Eine Firewall, die den Zugriff auf den Port einschränkt, senkt das Risiko, beseitigt es aber nicht, da jeder Host, der weiterhin eine Verbindung öffnen kann, Code ausführen kann. Für IT-Teams, die KI-Caching oder andere öffentlich zugängliche Infrastruktur betreiben, ist es genau die Art von Kontrolle, die AEU-I im Rahmen von sicherheitsorientierten Infrastruktur- und Beratungsprüfungen anwendet: nicht authentifizierte Verwaltungs- und Cache-Endpunkte aus dem öffentlichen Internet herauszuhalten und den Zugriff auf vertrauenswürdige Netzwerke zu beschränken.

So schützen Sie sich

  1. Wenn Sie einen KI-Server oder eine Cache-Software nutzen, fragen Sie Ihren Anbieter oder Administrator, ob LMCache läuft und ob es so eingestellt ist, dass es nur auf einer privaten oder lokalen Adresse lauscht.
  2. Setzen Sie ein Admin-Panel, einen Cache-Dienst oder einen Verwaltungsport niemals direkt dem öffentlichen Internet aus; halten Sie sie hinter einer Firewall oder in einem privaten Netzwerk.
  3. Führen Sie Server-Software mit einem eingeschränkten Benutzerkonto statt mit einem Administrator- oder Root-Konto aus, damit eine Kompromittierung nicht die gesamte Maschine übernehmen kann.
  4. Wenden Sie Patches und Versionsupdates an, sobald die Hersteller sie veröffentlichen, und prüfen Sie die Sicherheitsseite des Herstellers, wenn eine kritische Schwachstelle bekannt gegeben wird.
  5. Wenn Sie noch nicht patchen können, verringern Sie das Risiko, indem Sie einschränken, welche Computer sich mit dem Dienst verbinden können, wobei Sie wissen sollten, dass jeder verbundene Computer ihn immer noch angreifen könnte.
  6. Achten Sie auf einen offiziellen Fix von LMCache und verlassen Sie sich nicht nur auf Warnungen Dritter für eine Problemumgehung.

Schwachstellen & Lösungen

Begriffe Erklärt

  • LMCache Open-Source-Software, die Server für große Sprachmodelle beschleunigt, indem sie deren wiederholte Arbeit zwischenspeichert.
  • unauthenticated Fähig zu handeln, ohne einen Benutzernamen, ein Passwort oder einen anderen Identitätsnachweis vorzulegen.
  • remote code execution Eine Art von Angriff, bei dem ein Außenstehender eigene Befehle auf einem Computer ausführen kann.
  • pickle Ein Python-Datenformat, das Code enthalten und beim Lesen der Daten ausführen kann.
  • ZeroMQ Eine Messaging-Bibliothek, die es verschiedenen Programmen oder Maschinen ermöglicht, Nachrichten auszutauschen.
  • CVE Eine öffentliche Kennung für eine bestimmte Sicherheitslücke in Software.
  • root Das mächtigste Konto auf einem Linux-Computer, das alles ändern oder darauf zugreifen kann.
  • localhost Der Computer selbst, nicht von anderen Maschinen aus erreichbar.

Verwandte AEU-Dienste

  • AEU DNS Verschlüsselter DNS-Resolver