Ailagbara ni Docker ti o fun ọ laaye lati sa kuro ninu apo eiyan naa

Ninu Ohun elo Irinṣẹ fun Ṣiṣakoso Awọn apoti Docker Linux ti o ya sọtọ mọ ailagbara (CVE-2018-15664), eyiti, labẹ awọn ipo ipo kan, gba ọ laaye lati wọle si agbegbe agbalejo lati inu eiyan ti o ba ni agbara lati ṣe ifilọlẹ awọn aworan rẹ lori eto tabi pẹlu iraye si apo eiyan ti nṣiṣẹ. Iṣoro naa han ni gbogbo awọn ẹya Docker ati pe o wa ni aibikita (dabaa, ṣugbọn ko sibẹsibẹ gba, alemo, eyiti o ṣe imuduro idaduro ti eiyan lakoko ṣiṣe awọn iṣẹ pẹlu FS).

Ailagbara naa ngbanilaaye awọn faili lati fa jade lati inu eiyan kan si apakan lainidii ti eto faili eto agbalejo nigba ṣiṣe pipaṣẹ “docker cp”. Iyọkuro faili ni a ṣe pẹlu awọn ẹtọ gbongbo, eyiti o jẹ ki o ṣee ṣe lati ka tabi kọ eyikeyi awọn faili ni agbegbe agbalejo, eyiti o to lati ni iṣakoso ti eto agbalejo (fun apẹẹrẹ, o le tun kọ /etc/shadow).

Ikọlu naa le ṣee ṣe nikan nigbati oluṣakoso ṣiṣẹ pipaṣẹ “docker cp” lati daakọ awọn faili si tabi lati inu eiyan naa. Nitorinaa, ikọlu naa nilo lati parowa fun oluṣakoso Docker ti iwulo lati ṣe iṣẹ yii ati ṣe asọtẹlẹ ọna ti a lo nigbati o ṣe daakọ. Ni apa keji, ikọlu le ṣee ṣe, fun apẹẹrẹ, nigbati awọn iṣẹ awọsanma n pese awọn irinṣẹ fun didaakọ awọn faili atunto sinu apo eiyan, ti a ṣe pẹlu lilo aṣẹ “docker cp”.

Iṣoro naa jẹ nitori abawọn ninu ohun elo ti iṣẹ naa TẹleSymlinkInScope, eyiti o ṣe iṣiro ọna pipe ni eto faili akọkọ ti o da lori ọna ibatan, ni akiyesi ibi-ipamọ ti eiyan naa. Lakoko ṣiṣe pipaṣẹ “docker cp”, igba kukuru kan ije ipo, ninu eyiti ọna naa ti ni idaniloju tẹlẹ, ṣugbọn iṣẹ naa ko tii ṣe. Niwọn igba ti a ṣe didaakọ ni agbegbe ti eto faili akọkọ ti eto agbalejo, laarin akoko kan pato, o le ṣakoso lati rọpo ọna asopọ pẹlu ọna miiran ati bẹrẹ didaakọ data si ipo lainidii ninu eto faili ni ita ita. eiyan.

Niwọn igba ti window akoko fun ipo ere-ije lati waye ni opin pupọ ni igbaradi lo nilokulo Afọwọkọ Nigbati o ba n ṣe awọn iṣẹ ẹda lati inu eiyan, o ṣee ṣe lati ṣaṣeyọri ikọlu aṣeyọri ni o kere ju 1% ti awọn ọran nigbati gigun kẹkẹ rọpo ọna asopọ aami ni ọna ti a lo ninu iṣẹ ẹda (kolu aṣeyọri naa ni a ṣe lẹhin isunmọ awọn aaya 10 ti awọn igbiyanju lati daakọ faili nigbagbogbo ni lupu pẹlu aṣẹ “docker cp”).

Nipa ṣiṣe iṣẹ ẹda kan sinu apo eiyan kan, o le ṣaṣeyọri ikọlu faili atunwi kan lori eto agbalejo ni awọn iterations diẹ. O ṣeeṣe ti ikọlu jẹ nitori otitọ pe nigba didakọ sinu apo eiyan, ero “chrootarchive” ni a lo, ni ibamu si eyiti ilana pamosi.go yọkuro pamosi kii ṣe sinu chroot ti gbongbo eiyan, ṣugbọn sinu chroot ti iwe ilana obi ti ọna ibi-afẹde, iṣakoso nipasẹ ikọlu, ati pe ko da ipaniyan ti eiyan naa duro (a lo chroot bi ami lati lo awọn ipo ere-ije).

orisun: opennet.ru

Fi ọrọìwòye kun