Kommunalda
Ə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.
myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id
Buraxılışda problem həll edildi
Mənbə: opennet.ru