Линуксийн цөмийн VFS-ийн эмзэг байдал нь танд давуу эрхээ нэмэгдүүлэх боломжийг олгодог.

Линукс цөмөөс өгсөн Filesystem Context API-д эмзэг байдал (CVE-2022-0185) илэрсэн бөгөөд энэ нь дотоод хэрэглэгчдэд систем дээр root эрх олж авах боломжийг олгодог. Асуудлыг тодорхойлсон судлаач Ubuntu 20.04 дээр анхдагч тохиргоонд кодыг root болгон ажиллуулах боломжийг олгодог ашиглалтын үзүүлбэрийг нийтэлжээ. Ашиглалтын кодыг түгээлтүүд эмзэг байдлыг зассан шинэчлэлийг гаргасны дараа долоо хоногийн дотор GitHub дээр байршуулахаар төлөвлөж байна.

Энэ эмзэг байдал нь VFS-ийн legacy_parse_param() функцэд байгаа бөгөөд Filesystem Context API-г дэмждэггүй файлын системд өгсөн параметрүүдийн дээд хэмжээг зөв шалгаж чадаагүйгээс үүсдэг. Хэт том параметрийг дамжуулах нь бичих өгөгдлийн хэмжээг тооцоолоход ашигладаг бүхэл тоон хувьсагчийг халах шалтгаан болдог - код нь "хэрэв (len > PAGE_SIZE - 2 - хэмжээ)" гэсэн буферийн хэт ачааллыг шалгадаг бөгөөд энэ нь тийм биш юм. хэмжээ нь 4094-ээс их байвал ажил. доод хязгаараар бүхэл тоон халихад (бүхэл тоон дутуу урсгал, тэмдэггүй int руу 4096 - 2 - 4095-ыг дамжуулахад үр дүн нь 2147483648 болно).

Энэ алдаа нь тусгайлан зохион бүтээсэн файлын системийн дүрс рүү нэвтрэх үед буфер халихад хүргэж, хуваарилагдсан санах ойн хэсгийг дагаж цөмийн өгөгдлийг дарж бичих боломжийг олгодог. Эмзэг байдлыг ашиглахын тулд та CAP_SYS_ADMIN эрхтэй байх ёстой, өөрөөр хэлбэл. администраторын эрх мэдэл. Асуудал нь хэрэв системд хэрэглэгчийн нэрийн орон зайг дэмждэг бол тусгай зөвшөөрөлгүй хэрэглэгч ийм зөвшөөрлийг тусгаарлагдсан саванд авч болно. Жишээлбэл, хэрэглэгчийн нэрийн орон зайг Ubuntu болон Fedora дээр анхдагчаар идэвхжүүлсэн боловч Debian болон RHEL дээр идэвхжээгүй (хэрэв контейнер тусгаарлах платформ ашиглаагүй бол).

Асуудал Линуксийн цөмийн 5.1 хувилбараас хойш гарч ирсэн бөгөөд өчигдрийн 5.16.2, 5.15.16, 5.10.93, 5.4.173 шинэчлэлтүүдээр зассан. Эмзэг байдлыг зассан багц шинэчлэлтүүдийг RHEL, Debian, Fedora, Ubuntu-д аль хэдийн гаргасан. Энэ засварыг Arch Linux, Gentoo, SUSE болон openSUSE дээр хараахан ашиглах боломжгүй байна. Контейнерийн тусгаарлалтыг ашигладаггүй системүүдийн аюулгүй байдлын тойм болгон та sysctl "user.max_user_namespaces" утгыг 0 болгож тохируулж болно: echo "user.max_user_namespaces=0" > /etc/sysctl.d/userns.conf # sysctl -p /etc/ sysctl.d/userns.conf

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

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