In Toolkit voor het beheren van geïsoleerde Linux Docker-containers
Door het beveiligingslek kunnen bestanden uit een container worden uitgepakt naar een willekeurig deel van het bestandssysteem van het hostsysteem bij het uitvoeren van de opdracht “docker cp”. Bestandsextractie wordt uitgevoerd met rootrechten, wat het mogelijk maakt om alle bestanden in de hostomgeving te lezen of te schrijven, wat voldoende is om controle over het hostsysteem te krijgen (u kunt bijvoorbeeld /etc/shadow overschrijven).
De aanval kan alleen worden uitgevoerd wanneer de beheerder het commando “docker cp” uitvoert om bestanden van of naar de container te kopiëren. De aanvaller moet de Docker-beheerder dus op de een of andere manier overtuigen van de noodzaak om deze bewerking uit te voeren en het pad te voorspellen dat bij het kopiëren wordt gebruikt. Aan de andere kant kan er bijvoorbeeld een aanval worden uitgevoerd wanneer clouddiensten tools bieden voor het kopiëren van configuratiebestanden naar een container, gebouwd met behulp van het commando “docker cp”.
Het probleem wordt veroorzaakt door een fout in de toepassing van de functie
Omdat het tijdsbestek voor het optreden van een raceconditie bij een voorbereiding zeer beperkt is
Door een kopieerbewerking naar een container uit te voeren, kunt u in slechts enkele iteraties een herhaalbare bestandsoverschrijvingsaanval op het hostsysteem uitvoeren. De mogelijkheid van een aanval is te wijten aan het feit dat bij het kopiëren naar een container het concept “chrootarchive” wordt gebruikt, volgens welke het archive.go-proces het archief niet uitpakt in de chroot van de containerroot, maar in de chroot van de containerroot. bovenliggende map van het doelpad, beheerd door de aanvaller, en stopt de uitvoering van de container niet (chroot wordt gebruikt als teken om racevoorwaarden te misbruiken).
Bron: opennet.ru