Тодорхой дүрмийг ашиглах үед давуу эрхийг нэмэгдүүлэх боломжийг олгодог sudo дахь эмзэг байдал

Хэрэглээнд Судо, бусад хэрэглэгчдийн нэрийн өмнөөс командын гүйцэтгэлийг зохион байгуулахад ашигладаг, тодорхойлсон эмзэг байдал (CVE-2019-14287), хэрэв sudoers тохиргоонд хэрэглэгчийн ID шалгах хэсэгт "БҮХ" гэсэн түлхүүр үгийн дараа root эрхээр ажиллуулахыг тодорхой хориглосон дүрмүүд байгаа бол root эрх бүхий тушаалуудыг гүйцэтгэх боломжийг олгодог ("... (БҮГД, !root) ..."). Энэ эмзэг байдал нь түгээлтийн өгөгдмөл тохиргоонд харагдахгүй байна.

Хэрэв sudoers нь root-ээс бусад хэрэглэгчийн UID-ийн дагуу тодорхой тушаалыг гүйцэтгэхийг зөвшөөрдөг хүчинтэй боловч практикт маш ховор дүрэмтэй бол энэ тушаалыг гүйцэтгэх эрх бүхий халдагч тогтоосон хязгаарлалтыг давж, тушаалыг гүйцэтгэх боломжтой. язгуур эрх. Хязгаарлалтаас гарахын тулд тохиргоонд заасан командыг UID "-1" эсвэл "4294967295"-ээр гүйцэтгэхийг оролдоход л UID 0-ээр гүйцэтгэнэ.

Жишээлбэл, тохиргоонд дурын хэрэглэгч /usr/bin/id програмыг дурын UID-ээр гүйцэтгэх эрхийг олгодог дүрэм байгаа бол:

myhost ALL = (БҮХ, !root) /usr/bin/id

эсвэл зөвхөн тодорхой хэрэглэгчийн bob-д гүйцэтгэхийг зөвшөөрдөг сонголт:

myhost bob = (БҮХ, !root) /usr/bin/id

Хэрэглэгч "sudo -u '#-1' id"-г ажиллуулж болох бөгөөд тохиргоонд тодорхой хориг тавьсан ч /usr/bin/id хэрэглүүрийг root хэлбэрээр ажиллуулна. Асуудал нь UID-ийн өөрчлөлтөд хүргэдэггүй "-1" эсвэл "4294967295" тусгай утгуудыг үл тоомсорлосноор үүсдэг, гэхдээ sudo өөрөө UID-г өөрчлөхгүйгээр аль хэдийн root хэлбэрээр ажиллаж байгаа тул зорилтот тушаал мөн root эрхтэйгээр эхлүүлсэн.

Дүрэмд "NOPASSWD" гэж заагаагүй бол SUSE болон openSUSE түгээлтүүдэд сул тал бий. ашиглах боломжгүй, учир нь sudoers-д "Өгөгдмөл targetpw" горим нь анхдагчаар идэвхждэг бөгөөд энэ нь UID-г нууц үгийн мэдээллийн баазтай харьцуулан шалгаж, зорилтот хэрэглэгчийн нууц үгийг оруулахыг танд сануулдаг. Ийм системүүдийн хувьд довтолгоог зөвхөн дүрмийн дагуу хийх боломжтой.

myhost ALL = (БҮХ, !root) NOPASSWD: /usr/bin/id

Асуудлыг гаргахдаа зассан Sudo 1.8.28. Засварыг мөн хэлбэрээр авах боломжтой нөхөөс. Түгээлтийн иж бүрдэлд эмзэг байдлыг аль хэдийн зассан Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD-ийн. Үүнийг бичиж байх үед асуудал шийдэгдээгүй хэвээр байна RHEL и Федора. Энэ эмзэг байдлыг Apple-ийн аюулгүй байдлын судлаачид илрүүлжээ.

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

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