LMCache: Unauthentifizierte Remote Code Execution über Pickle-Deserialisierung
Zusammenfassung
LMCache öffnet im Multiprozess-Modus (verteilter Modus) einen unauthentifizierten ZeroMQ-Transport. Eingehende Nachrichten werden mit pickle.loads dekodiert, weshalb eine einzelne präparierte Nachricht an den Transport-Port (Standard 5555) Code im Namen des Benutzers ausführen kann, unter dem LMCache läuft. In den offiziellen Container-Images ist dies root. Der Transport bindet standardmässig an localhost, daher besteht das Risiko vor allem dann, wenn mit --host eine routbare Adresse gesetzt wird, wie es bei Multi-Node-Deployments der Fall ist. Betroffen sind die Versionen 0.3.9 bis 0.5.5 sowie die Release-Kandidaten von 0.5.6.
Betroffen
- LMCache 0.3.9 bis und mit 0.5.5 sowie die Release-Kandidaten von 0.5.6, im Multiprozess-Modus
- Exponiert, wenn der Transport eine routbare Adresse (--host) bindet
- Standardmässige Bindung an localhost ist nicht exponiert
- Das Beispiel-Kubernetes-Deployment von v0.5.6 bindet weiterhin an 0.0.0.0
Behoben in
- LMCache 0.5.6 oder neuer (PR #5644). Worker und Server gemeinsam aktualisieren, da sich das Wire-Format geändert hat.
- Die offiziellen Images von v0.5.6 laufen weiterhin als root. Images ohne root und die Bindung an localhost im Beispiel-Deployment sind in v0.5.7rc2 enthalten.
Umgehung
- Den Transport auf localhost belassen und keine routbare --host-Adresse setzen, sofern nicht zwingend erforderlich
- Port 5555 (oder den konfigurierten Port) mit Network Policies oder Host-Firewall-Regeln auf bekannte Peers beschränken
- Den LMCache-Prozess als Benutzer ohne root-Rechte betreiben
- Deployments prüfen, die auf dem alten Kubernetes-Beispiel basieren, das alle Schnittstellen gebunden hat
Ausnutzung
- Zum Zeitpunkt der Erstellung ist keine Ausnutzung in freier Wildbahn bekannt.
- CISA-SSVC-Bewertung: Ausnutzung keine, automatisierbar ja, technische Auswirkung total.
- Der Bericht von JFrog enthält einen Abschnitt mit einem Proof of Concept.
Unsere Empfehlung
- LMCache-Installationen erfassen (pip, Container, vLLM- oder SGLang-Integrationen) und die --host-Einstellung sowie die Erreichbarkeit von Port 5555 prüfen.
- Auf 0.5.6 oder neuer aktualisieren. Falls ein Update nicht sofort möglich ist, den Port umgehend einschränken.
- Als Benutzer ohne root-Rechte betreiben und nach dem Update die laufende Version bestätigen.
- Falls der Port aus nicht vertrauenswürdigen Netzen erreichbar war, auf unerwartete Child-Prozesse, Shells oder ausgehende Verbindungen prüfen und den Host als potenziell kompromittiert behandeln.
- Offene Folgepunkte verfolgen: RPC-Authentifizierung (für 0.5.7 geplant) und Pickle-Nutzung im Engine-gesteuerten Pfad (geplant vor 0.5.8).
Öffentliche Exploits
Links zu fremden Seiten, von uns nicht geprüft – Exploit-Code kann Schadsoftware enthalten. Nur in isolierten Testumgebungen verwenden.
- Proof of Concept auf GitHub (2 Repositories)
rxsklife/CVE-2026-105192 · basesixtythree/B63-POC-CVE-2026-105192
Quellen der Recherche
- LMCache blog: An Update on CVE-2026-105192 blog.lmcache.ai
- LMCache GitHub Security Advisory GHSA-w5f2-9q9c-ff4h github.com
- LMCache release v0.5.6 github.com
- LMCache PR #5644: replace pickle in device IPC descriptors github.com
- LMCache PR #5684: bind example Kubernetes deployment to localhost github.com
- LMCache PR #5685: run official images as non-root user github.com
- JFrog Security Research write-up research.jfrog.com
- LMCache v0.5.5 ipc_wrapper.py github.com
Recherchiert und auf Deutsch und Englisch aufbereitet von einer KI (Claude von Anthropic) auf Basis von NVD, CISA, EPSS und den genannten Quellen. Massgebend sind die Angaben des Herstellers. Recherche vom 30.10.2026 20:52.
Referenzen der NVD (11)
- https://blog.lmcache.ai/en/2026/10/13/an-update-on-cve-2026-105192/
- https://github.com/LMCache/LMCache
- https://github.com/LMCache/LMCache/blob/v0.3.9/lmcache/v1/multiprocess/custom_types.py
- https://github.com/LMCache/LMCache/blob/v0.5.5/lmcache/v1/platform/base/ipc_wrapper.py
- https://github.com/LMCache/LMCache/pull/5644
- https://github.com/LMCache/LMCache/pull/5684
- https://github.com/LMCache/LMCache/pull/5685
- https://github.com/LMCache/LMCache/releases/tag/v0.5.6
- https://github.com/LMCache/LMCache/security/advisories/GHSA-w5f2-9q9c-ff4h
- https://pypi.org/project/lmcache/
- https://research.jfrog.com/vulnerabilities/lmcache-is-vulnerable-to-unauthenticated-remote-code-execution-via…
Quellen
Der Tracker verbindet offizielle, frei nutzbare Datenquellen – laufend aktualisiert:
- NVD (NIST) – CVE, Bewertung (CVSS), betroffene Produkte
- CISA KEV – von der CISA bestätigt aktiv ausgenutzte Lücken
- CISA Vulnrichment – Einschätzung der CISA (SSVC) im offiziellen CVE-Eintrag
- FIRST EPSS – Wahrscheinlichkeit einer Ausnutzung
- Microsoft MSRC – Patch Tuesday: Lücken, Schweregrad, Updates
- PoC-in-GitHub – öffentliche Proof-of-Concept-Repositories
- Metasploit (Rapid7) – Module des Metasploit Framework
- Exploit-DB (OffSec) – Archiv öffentlicher Exploits (nur Verweise)
- Patch-Tage: offizielle Seiten der Hersteller (je Hersteller verlinkt) (Patch-Tage der Hersteller)
Dieses Angebot nutzt Daten der NVD-API, ist aber von der NVD weder unterstützt noch zertifiziert. EPSS-Daten © FIRST.org.
Betroffen? Wir helfen.
Wir prüfen, ob Ihre Systeme betroffen sind, spielen Updates ein und schliessen die Lücke – auf Wunsch auch laufend mit dem System Health Checker.
