Schwachstelle am Docker déi Iech erlaabt aus dem Container ze flüchten

Am Toolkit fir isoléiert Linux Docker Container ze managen identifizéiert Schwachstelle (CVE-2018-15664), déi, ënner engem bestëmmte Set vun Ëmstänn, erlaabt Iech op d'Hostëmfeld vun engem Container ze kommen, wann Dir d'Fäegkeet hutt Är Biller am System ze starten oder mat Zougang zu engem lafende Container. De Problem erschéngt an all Versioune vum Docker a bleift onfixéiert (proposéiert, awer nach net ugeholl, Patch, déi d'Suspension vum Container implementéiert beim Ausféieren vun Operatiounen mam FS).

D'Schwachheet erlaabt datt Dateien aus engem Container an en arbiträren Deel vum Dateiesystem vum Hostsystem extrahéiert ginn wann Dir de Kommando "Docker cp" ausféiert. Dateiextraktioun gëtt mat Rootrechter ausgeführt, wat et méiglech mécht all Dateien am Host-Ëmfeld ze liesen oder ze schreiwen, wat genuch ass fir d'Kontroll vum Hostsystem ze kréien (zum Beispill, Dir kënnt /etc/shadow iwwerschreiwe).

D'Attack kann nëmme gemaach ginn wann den Administrator de Kommando "docker cp" ausféiert fir Dateien an oder aus dem Container ze kopéieren. Also muss den Ugräifer iergendwéi den Docker Administrateur iwwerzeegen vun der Bedierfnes fir dës Operatioun auszeféieren an de Wee virauszesoen, dee beim Kopie benotzt gëtt. Op der anerer Säit kann en Attack duerchgefouert ginn, zum Beispill, wann Cloud-Servicer Tools ubidden fir Konfiguratiounsdateien an e Container ze kopéieren, gebaut mat dem Kommando "Docker cp".

De Problem ass verursaacht duerch e Feeler an der Uwendung vun der Funktioun FollowSymlinkInScope, deen den absolute Wee am Haaptdateisystem baséiert op dem relativen Wee berechent, andeems d'Plazéierung vum Container berücksichtegt gëtt. Wärend de Kommando "Docker cp" ausféiert, eng kuerzfristeg Rennen Zoustand, an deem de Wee scho verifizéiert gouf, awer d'Operatioun ass nach net gemaach. Well d'Kopie am Kontext vum Haaptdateisystem vum Hostsystem duerchgefouert gëtt, kënnt Dir bannent enger spezifizéierter Zäit verwalten, de Link mat engem anere Wee ze ersetzen an d'Kopie vun Daten op eng arbiträr Plaz am Dateiesystem ausserhalb vum Container.

Zanter der Zäit Fënster fir eng Course Conditioun geschéien héich limitéiert an engem preparéiert Prototyp ausnotzen Wann Dir Kopie vun engem Container ausféiert, war et méiglech en erfollegräichen Attack a manner wéi 1% vun de Fäll z'erreechen wann zyklesch e symbolesche Link am Wee ersat gouf an der Kopieoperatioun benotzt (den erfollegräichen Attack gouf no ongeféier 10 Sekonnen Versich duerchgefouert fir d'Datei kontinuéierlech an enger Loop mam Kommando "Docker cp" ze kopéieren).

Andeems Dir eng Kopie-Operatioun an e Container ausféiert, kënnt Dir e widderhuelend Datei-Iwwerschreiwe-Attack op den Hostsystem an nëmmen e puer Iteratiounen erreechen. D'Méiglechkeet vun Attack ass wéinst der Tatsaach, datt wann Dir an e Container kopéiert, de "Chrootarchive" Konzept benotzt gëtt, no deem den Archive.go Prozess d'Archiv net an d'Chroot vun der Containerwurzel extrahéiert, mee an de Chroot vun der Elterendeel Verzeechnes vum Zilwee, kontrolléiert vum Ugräifer, a stoppt net d'Ausféierung vum Container (Chroot gëtt als Zeechen benotzt fir Rassbedéngungen auszenotzen).

Source: opennet.ru

Setzt e Commentaire