Sudo'da belirli kuralları kullanırken ayrıcalık yükseltmeye izin veren güvenlik açığı

Yardımcı programda sudodiğer kullanıcılar adına komutların yürütülmesini organize etmek için kullanılır, tanımlanmış Güvenlik açığı (CVE-2019-14287), sudoers ayarlarında, kullanıcı kimliği kontrolü bölümünde "TÜM" izin veren anahtar kelimeden sonra kök haklarıyla çalıştırmanın açık bir şekilde yasaklandığı kurallar varsa, komutları kök haklarıyla çalıştırmanıza izin verir ("... (TÜMÜ, !kök) ..." ). Güvenlik açığı, dağıtımlardaki varsayılan yapılandırmalarda görünmüyor.

Sudoers'ın, root dışındaki herhangi bir kullanıcının UID'si altında belirli bir komutun yürütülmesine izin veren geçerli ancak pratikte son derece nadir kuralları varsa, bu komutu yürütme yetkisine sahip bir saldırgan, kısıtlamayı atlayabilir ve komutu root ile çalıştırabilir. Haklar. Sınırlamayı atlamak için, ayarlarda belirtilen UID “-1” veya “4294967295” ile belirtilen komutu yürütmeyi deneyin; bu, UID 0 ile yürütülmesine yol açacaktır.

Örneğin, ayarlarda herhangi bir kullanıcıya herhangi bir UID altında /usr/bin/id programını çalıştırma hakkı veren bir kural varsa:

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

veya yalnızca belirli bir kullanıcı bob'unun çalıştırılmasına izin veren bir seçenek:

myhost bob = (TÜMÜ, !root) /usr/bin/id

Kullanıcı “sudo -u '#-1' id” komutunu çalıştırabilir ve ayarlardaki açık yasağa rağmen /usr/bin/id yardımcı programı root olarak başlatılacaktır. Sorun, UID'de bir değişikliğe yol açmayan "-1" veya "4294967295" özel değerlerinin gözden kaçırılmasından kaynaklanmaktadır, ancak sudo'nun kendisi zaten UID'yi değiştirmeden root olarak çalıştığından, hedef komut da kök haklarıyla başlatıldı.

SUSE ve openSUSE dağıtımlarında kuralda “NOPASSWD” belirtilmeden güvenlik açığı bulunmaktadır istismar edilemez, çünkü sudoers'ta UID'yi şifre veritabanına göre kontrol eden ve sizden hedef kullanıcının şifresini girmenizi isteyen "Varsayılanlar targetpw" modu varsayılan olarak etkindir. Bu tür sistemler için bir saldırı ancak şu şekilde kurallar varsa gerçekleştirilebilir:

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

Sürümde düzeltilen sorun sudo 1.8.28. Düzeltme formda da mevcuttur yama. Dağıtım kitlerinde güvenlik açığı zaten giderilmiştir. Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo и FreeBSD. Yazma sırasında sorun çözülmeden kaldı RHEL и Fötr şapka. Güvenlik açığı Apple'ın güvenlik araştırmacıları tarafından tespit edildi.

Kaynak: opennet.ru

Yorum ekle