Xüsusi qaydalardan istifadə edərkən imtiyazların artırılmasına imkan verən sudo-da zəiflik

Kommunalda Sudo, digər istifadəçilərin adından əmrlərin icrasını təşkil etmək üçün istifadə olunur, müəyyən edilmişdir zəiflik (CVE-2019-14287), əgər sudoers parametrlərində istifadəçi identifikatorunun yoxlanılması bölməsində icazə verən açar sözündən sonra “ALL” kök hüququ ilə işləməyə açıq şəkildə qadağa qoyulmuş qaydalar varsa, bu, kök hüquqları ilə əmrləri yerinə yetirməyə imkan verir (“... (ALL, !root) ..." ). Zəiflik paylamalarda defolt konfiqurasiyalarda görünmür.

Əgər sudoers etibarlı, lakin praktikada olduqca nadir olan, rootdan başqa hər hansı bir istifadəçinin UID-si altında müəyyən əmrin icrasına imkan verən qaydalara malikdirsə, bu əmri yerinə yetirmək səlahiyyətinə malik olan təcavüzkar müəyyən edilmiş məhdudiyyəti keçə və əmri yerinə yetirə bilər. kök hüquqları. Məhdudiyyəti keçmək üçün sadəcə olaraq parametrlərdə göstərilən əmri UID “-1” və ya “4294967295” ilə yerinə yetirməyə çalışın ki, bu da onun UID 0 ilə yerinə yetirilməsinə səbəb olacaq.

Məsələn, parametrlərdə hər hansı istifadəçiyə hər hansı UID altında /usr/bin/id proqramını icra etmək hüququ verən bir qayda varsa:

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

və ya yalnız müəyyən bir istifadəçi bob üçün icra etməyə imkan verən seçim:

myhost bob = (ALL, !root) /usr/bin/id

İstifadəçi “sudo -u '#-1' id” funksiyasını yerinə yetirə bilər və parametrlərdəki açıq qadağaya baxmayaraq, /usr/bin/id yardım proqramı kök kimi işə salınacaq. Problem UID-də dəyişikliyə səbəb olmayan "-1" və ya "4294967295" xüsusi dəyərləri nəzərdən qaçırmaqdan qaynaqlanır, lakin sudo özü artıq UID-i dəyişdirmədən kök kimi işlədiyi üçün hədəf əmri də kök hüquqları ilə işə salındı.

SUSE və openSUSE paylamalarında, qaydada “NOPASSWD” göstərilmədən, zəiflik var. istismar edilə bilməz, çünki sudoers-də “Defolt targetpw” rejimi standart olaraq aktivdir, bu, UID-i parol verilənlər bazası ilə yoxlayır və sizi hədəf istifadəçinin parolunu daxil etməyi təklif edir. Bu cür sistemlər üçün hücum yalnız forma qaydaları olduqda həyata keçirilə bilər:

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

Buraxılışda problem həll edildi Sudo 1.8.28. Düzəliş formada da mövcuddur yamaq. Dağıtım dəstlərində zəiflik artıq aradan qaldırılıb Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Yazı zamanı problem həll edilməmiş olaraq qalır RHEL и Fedora. Boşluğu Apple-ın təhlükəsizlik tədqiqatçıları müəyyən ediblər.

Mənbə: opennet.ru

Добавить комментарий