In Toolkit vir die bestuur van geïsoleerde Linux Docker-houers kwesbaarheid (), wat jou onder 'n sekere stel omstandighede toelaat om toegang tot die gasheeromgewing te verkry vanaf 'n houer as jy die vermoë het om jou beelde op die stelsel te begin of met toegang tot 'n lopende houer. Die probleem verskyn in alle weergawes van Docker en bly onopgelos (voorgestel, maar nog nie aanvaar nie, , wat die opskorting van die houer implementeer terwyl bedrywighede met die FS uitgevoer word).
Die kwesbaarheid laat toe dat lêers uit 'n houer na 'n arbitrêre deel van die gasheerstelsel se lêerstelsel onttrek word wanneer die "docker cp"-opdrag uitgevoer word. Lêeronttrekking word uitgevoer met wortelregte, wat dit moontlik maak om enige lêers in die gasheeromgewing te lees of te skryf, wat genoeg is om beheer oor die gasheerstelsel te verkry (jy kan byvoorbeeld /etc/shadow oorskryf).
Die aanval kan slegs uitgevoer word wanneer die administrateur die "docker cp"-opdrag uitvoer om lêers na of van die houer te kopieer. Die aanvaller moet dus op een of ander manier die Docker-administrateur oortuig van die behoefte om hierdie operasie uit te voer en die pad wat gebruik word tydens kopiëring te voorspel. Aan die ander kant kan 'n aanval uitgevoer word, byvoorbeeld wanneer wolkdienste gereedskap verskaf om konfigurasielêers na 'n houer te kopieer, gebou met die "docker cp"-opdrag.
Die probleem word veroorsaak deur 'n fout in die toepassing van die funksie , wat die absolute pad in die hooflêerstelsel op grond van die relatiewe pad bereken, met inagneming van die plasing van die houer. Terwyl die "docker cp" opdrag uitgevoer word, 'n korttermyn , waarin die pad reeds geverifieer is, maar die bewerking nog nie uitgevoer is nie. Aangesien die kopiëring in die konteks van die hooflêerstelsel van die gasheerstelsel uitgevoer word, kan u binne 'n bepaalde tydperk daarin slaag om die skakel met 'n ander pad te vervang en die kopiëring van data na 'n arbitrêre plek in die lêerstelsel buite die houer.
Aangesien die tydvenster vir 'n wedlooptoestand om te voorkom, hoogs beperk is in 'n voorbereide Wanneer kopieerbewerkings vanaf 'n houer uitgevoer word, was dit moontlik om 'n suksesvolle aanval in minder as 1% van die gevalle te bereik wanneer 'n simboliese skakel siklies vervang word in die pad wat in die kopieerbewerking gebruik word (die suksesvolle aanval is uitgevoer na ongeveer 10 sekondes se pogings om die lêer voortdurend in 'n lus te kopieer met die "docker cp"-opdrag).
Deur 'n kopieerbewerking in 'n houer uit te voer, kan u 'n herhaalbare lêeroorskryf-aanval op die gasheerstelsel in slegs 'n paar herhalings bereik. Die moontlikheid van aanval is te wyte aan die feit dat wanneer daar na 'n houer gekopieer word, die "chrootarchive" konsep gebruik word, waarvolgens die archive.go proses die argief onttrek nie in die chroot van die houer wortel nie, maar in die chroot van die ouergids van die teikenpad, beheer deur die aanvaller, en stop nie die uitvoering van die houer nie (chroot word gebruik as 'n teken om rastoestande uit te buit).
Bron: opennet.ru
