Докерын эмзэг байдал нь савнаас зугтах боломжийг олгодог

Тусгаарлагдсан Линукс Докер савыг удирдах хэрэгсэлд тодорхойлсон эмзэг байдал (CVE-2018-15664), тодорхой нөхцөл байдлын дагуу, хэрэв та өөрийн зургийг систем дээр эхлүүлэх боломжтой эсвэл ажиллаж байгаа контейнерт хандах боломжтой бол контейнерээс хост орчинд хандах боломжийг олгодог. Асуудал нь Docker-ийн бүх хувилбарт гарч ирсэн бөгөөд шийдэгдээгүй хэвээр байна (санал болгож буй боловч хараахан зөвшөөрөөгүй, нөхөөс, FS-тэй үйл ажиллагаа явуулах үед савны түдгэлзүүлэлтийг хэрэгжүүлдэг).

Энэ эмзэг байдал нь "docker cp" командыг гүйцэтгэх үед файлуудыг контейнерээс хост системийн файлын системийн дурын хэсэгт задлах боломжийг олгодог. Файл задлах нь үндсэн эрхээр хийгддэг бөгөөд энэ нь хостын орчинд байгаа аливаа файлыг унших, бичих боломжийг олгодог бөгөөд энэ нь хост системийг удирдахад хангалттай (жишээ нь, та /etc/shadow дарж бичиж болно).

Администратор нь контейнер руу эсвэл контейнерээс файл хуулах "docker cp" командыг гүйцэтгэх үед л халдлагыг хийж болно. Тиймээс халдагчид ямар нэгэн байдлаар Docker-ийн администраторыг энэ үйлдлийг гүйцэтгэх шаардлагатай гэдэгт итгүүлж, хуулбарлахдаа ашигласан замыг урьдчилан таамаглах хэрэгтэй. Нөгөөтэйгүүр, жишээлбэл, үүлэн үйлчилгээ нь тохиргооны файлуудыг "docker cp" командыг ашиглан бүтээгдсэн саванд хуулах хэрэгслээр хангадаг үед халдлага хийж болно.

Асуудал нь функцийн хэрэглээний алдаанаас үүдэлтэй FollowSymlinkInScope, энэ нь үндсэн файлын систем дэх үнэмлэхүй замыг харьцангуй зам дээр үндэслэн контейнерийн байршлыг харгалзан тооцдог. "Docker cp" командыг гүйцэтгэх явцад богино хугацааны уралдааны нөхцөл, зам нь аль хэдийн шалгагдсан боловч үйл ажиллагаа хараахан хийгдээгүй байна. Хуулбарлах нь хост системийн үндсэн файлын системийн хүрээнд хийгддэг тул тодорхой хугацааны дотор та холбоосыг өөр замаар сольж, файлын системийн гаднах файлын системийн дурын байршилд өгөгдлийг хуулах ажлыг эхлүүлэх боломжтой. сав.

Уралдааны нөхцөл үүсэх цаг хугацааны цонх бэлтгэлд маш хязгаарлагдмал байдаг ашиглалтын прототип Контейнерээс хуулбарлах үйлдлийг гүйцэтгэхдээ хуулбарлах үйл ажиллагаанд ашигласан зам дахь бэлгэдлийн холбоосыг мөчлөгөөр солих тохиолдолд 1% -иас бага тохиолдолд амжилттай халдлагад хүрэх боломжтой байсан (ойролцоогоор 10 секундын оролдлогын дараа амжилттай халдлага хийсэн). "docker cp" командыг ашиглан гогцоонд файлыг тасралтгүй хуулах).

Контейнер рүү хуулбарлах үйлдлийг хийснээр та хэдхэн давталтаар хост системд дахин давтагдах файлыг дарж бичих халдлагад хүрч чадна. Халдлагын магадлал нь саванд хуулахдаа "chrootarchive" гэсэн ойлголтыг ашигладагтай холбоотой бөгөөд үүний дагуу archive.go процесс нь архивыг чингэлэгийн үндэсийн chroot руу биш харин chroot руу задалдаг. Халдагчийн удирддаг зорилтот замын эх лавлах бөгөөд контейнерийн гүйцэтгэлийг зогсоодоггүй (chroot нь уралдааны нөхцөлийг ашиглах тэмдэг болгон ашигладаг).

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх