Das Imperva Red Team von Thales entdeckte eine Sicherheitslücke im Docker-Befehl docker cp (CVE-2026-17106). Sie ermöglichte das willkürliche Schreiben von Dateien vom Container auf den Host. Docker bestätigte später, dass dieselbe CVE auch sbx cp betraf, wenn Dateien aus Docker-Sandboxes kopiert wurden.
Die Schwachstellen wurden von Docker am 10. August 2026 mit der Veröffentlichung der Docker Engine 29.7.2 innerhalb des Desktop Release 4.86.0 geschlossen. Alle Benutzer sollten, falls noch nicht geschehen, ein Upgrade auf Docker Engine und CLI 29.7.2 oder höher sowie auf Docker Desktop 4.86.0 oder höher durchführen.
Ein Angreifer könnte über einen infizierten Container oder eine infizierte Sandbox den Kopiervorgang ausnutzen, um Dateien außerhalb des vom Benutzer ausgewählten Ziels zu erstellen oder zu überschreiben. Dies ermöglicht gegebenenfalls die Ausführung von Code auf dem Rechner ermöglicht, auf dem die Docker-CLI ausgeführt wird.
Über CVE-2026-17106 könnte ein vom Angreifer kontrollierter Container bei einem routinemäßigen Dateikopiervorgang zwei schwerwiegende Folgen verursachen:
- Überschreiben von Host-Dateien: Erstellen oder Ersetzen beliebiger Dateien, auf die der Benutzer, der docker cpausführt, Schreibzugriff hat, einschließlich Shell-Konfiguration, ausführbarer Dateien, SSH-Konfiguration, Quellcode und Persistenzmechanismen.
- Codeausführung: Ausführen eines vom Angreifer kontrollierten Codes als angemeldeter Benutzer unter macOS oder – wenn „docker cp“ unter Linux mit erhöhten Berechtigungen ausgeführt wird – Erreichen der Root-Codeausführung unmittelbar nach Abschluss des Befehls durch Überschreiben der runc-Binärdatei.
Der Exploit verknüpft zwei Schwachstellen in der Archiv-Pipeline von Docker: einen Race-Condition-Fehler im Dateisystem, der es einem laufenden Container ermöglicht, ein inkonsistentes tar-Archiv zu erzeugen, und einen Extraktionsfehler, der es der Docker-CLI erlaubt, einem platzierten Symlink außerhalb des beabsichtigten Ziels zu folgen. Zusammen verwandeln diese Schwachstellen die eigene Docker-CLI des Benutzers in eine Schreibfunktion. Der Angreifer kontrolliert den Container und dessen Dateien, die CLI gewährt Zugriff auf das Host-Dateisystem.
Der Befehl docker cp wird routinemäßig verwendet, um Build-Artefakte, Testergebnisse, Protokolle und forensische Beweismittel aus Containern abzurufen. Dadurch ist die Schwachstelle besonders relevant für CI-Systeme, Entwickler-Workstations, privilegierte Automatisierung und Workflows zur Incident-Response. Im letzteren Fall könnte bereits das bloße Sammeln von Beweismitteln aus einem kompromittierten Container die darin wartende Payload aktivieren.
Die Auswirkungen erstrecken sich auch auf Arbeitsabläufe mit KI-Agenten. Docker Sandboxes verwendet sbx cp, um Dateien zwischen einer isolierten Agentenumgebung und dem Host zu verschieben. Docker Sandboxes 0.38.0, veröffentlicht am 6. August, identifiziert und behebt eine „Destination-Escape-Schwachstelle beim Kopieren mit sbx cp“ unter der Kennung CVE-2026-17106. Das bedeutet, dass das Abrufen eines Artefakts, das in einer nicht vertrauenswürdigen oder kompromittierten Coding-Agent-Sandbox erzeugt wurde, den Host derselben Art von Ziel-Escape aussetzen könnte.
Fazit
Containergrenzen werden nicht nur durch Namespaces, virtuelle Maschinen oder den Docker-Daemon definiert. Sie hängen auch von den clientseitigen Tools ab, die Daten über diese Grenzen hinweg übertragen. „docker cp“ verbindet ein aktives, vom Angreifer kontrolliertes Dateisystem mit einem Extraktor, der mit den Berechtigungen des Benutzers ausgeführt wird. Dieses Design erfordert, dass beide Seiten der Pipeline einen strengen Vertrag einhalten: Das Archiv muss kohärent sein, und jedes extrahierte Objekt muss innerhalb des Zielverzeichnisses verbleiben.
CVE-2026-17106 hat diese Vereinbarung gebrochen. Der Daemon interpretierte einen Pfadnamen als zwei verschiedene Objekte, wodurch ein Symlink erzeugt wurde, auf den dessen scheinbares untergeordnetes Element folgte. Die CLI validierte daraufhin einen Pfad, erstellte einen weiteren und erlaubte es dem untergeordneten Eintrag, in das Client-Dateisystem zu gelangen.
„Das Entpacken eines Archivs stellt eine Sicherheitsgrenze dar. Pfadnormalisierung und Prüfungen von Zeichenfolgenpräfixen können diese Grenze nicht durchsetzen, sobald symbolische Links und gleichzeitige Änderungen am Dateisystem eine Rolle spielen. Dateisystemoperationen müssen mit Root-Rechten ausgeführt werden, damit der Kernel – und nicht ein Zeichenfolgenvergleich – garantiert, wo der Schreibvorgang landet,“ erläutert Julian Iavarone, Technical Consultant, Data and Application Security bei Thales.
Das Red Team von Thales hat die Schwachstelle verantwortungsbewusst an Docker gemeldet, um die Offenlegung mit einem einsatzfähigen Patch abzustimmen.
Die komplette Analyse lesen Sie hier: https://www.imperva.com/blog/copyescape-taking-over-docker-hosts-with-docker-cp/


