Eine Sicherheitslücke in der Container-Runtime RunC gefährdet Nutzer von Container-Anwendungen wie Docker. Das Problem wurde von den Sicherheitsforschern Adam Iwaniuk und Borys Popławski gefunden und an SUSE gemeldet. Die Sicherheitslücke ermöglicht es einem Angreifer, das Hostsystem zu übernehmen, indem eine manipulierte Version der RunC-Bibliothek aufgespielt wird.
RunC ist die Runtime-Umgebung die Docker, Kubernetes und anderen Container-Anwendungen zugrunde liegt. Ein Patch steht für die meisten Implementierungen bereit und wird auch schon über automatisierte Update-Kanäle verteilt. Anwender sollten das Update so schnell wie möglich einspielen, um sich vor bösartigen Containern zu schützen. Die Lücke wurde von Entwicklern gefunden und schnell behoben.
Angriff benötigt einige Voraussetzungen
Damit ein Angreifer die Sicherheitslücke ausnutzen kann, sind jedoch einige Voraussetzungen zu erfüllen. Zunächst können nur Container mit privilegierten Rechten die RunC-Datei auf dem Zielsystem überschreiben. Wer seine Container also wie üblicherweise empfohlen mit beschränkten Rechten ausführt, ist nicht betroffen. Zudem müssten Anwender sich etwa über einen Docker-Hub ein speziell präpariertes Docker-Image herunterladen und auf ihrem System mit privilegierten Rechten ausführen.
Dieses Angriffsszenario ist schon deutlich wahrscheinlicher. Viele Anwender probieren regelmäßig neue Container aus, nicht immer wird dabei die eigentlich notwendige Hintergrundprüfung vorgenommen. „Wer Code auf einem System ausführt – und dazu gehören eben auch Docker-Container – sollte sich der Gefahren stets bewusst sein“, sagt Tim Berghoff, G DATA Security Evangelist. In Unternehmen sollten solche Testläufe daher grundsätzlich nur auf lokalen Systemen ohne vertrauliche Daten durchgeführt werden. „Docker ist praktisch und kann viel unnötige Arbeit vermeiden“, sagt Berghoff weiter, „aber die Bequemlichkeit darf nicht zu leichtsinnigem Handeln führen.“
Wer eine Container-Umgebung betreibt, sollte umgehend prüfen, ob die neueste Version von RunC bereits aktiv ist und das Update nötigenfalls von Hand einspielen. Die üblichen Linux-Distributionen sind bereits gepatcht, auch Amazon bringt seinen Elastic Container Service (ECS) auf den neuesten Stand. Sollte für die verwendete Plattform aktuell kein Patch verfügbar sein, kann es helfen, SELinux zu aktivieren und bis auf Weiteres keine neuen Container aus Hubs zu importieren. Genaue Details sind auch auf Seclist verfügbar.