Sistemə kök giriş əldə etməyə imkan verən glibc-də zəiflik

Qualys şirkəti standart C kitabxanası Glibc-də təhlükəli bir boşluq (CVE-2023-6246) aşkar edib ki, bu da SUID tətbiqlərinin işə salınmasını manipulyasiya etməklə onların yüksək imtiyazlarla icrasına imkan verir. Tədqiqatçılar su yardım proqramını işlədərkən əmr sətri arqumentlərini manipulyasiya etməklə root imtiyazlarının əldə edilməsinə imkan verən işləyən bir istismar hazırlayıblar.

Bu zəiflik, syslog() və vsyslog() funksiyalarını çağırarkən istifadə edilən __vsyslog_internal() funksiyasındakı bufer daşması səbəbindən yaranır. Problem, SYSLOG_HEADER makrosu vasitəsilə həddindən artıq uzun bir tətbiq adını çıxarmağa çalışarkən baş verən xəta səbəbindən yaranır. Uzun adı yerləşdirmək üçün buferi genişləndirməyə çalışarkən bir qəza baş verir və bundan sonra məlumatlar köhnə, əvvəlcə daha kiçik olan buferə yazılır.

Hücum başlatmaq üçün su yardımçı proqramından istifadə etməklə, təcavüzkar, proqram adı məlumatlarını jurnala çıxararkən əldə etmək üçün istifadə olunan argv[0] dəyərini əvəz etməklə tətbiqin başlanğıcında proses adını dəyişə və ayrılmış buferdən kənarda məlumatların idarə olunan şəkildə yenidən yazılmasına nail ola bilər. Daha sonra daşma, paylaşılan kitabxana yaratmaq və onu root imtiyazları ilə yükləmək üçün nss kitabxanasındakı nss_module strukturunun yenidən yazılması üçün istifadə edilə bilər.

Problem, 2022-ci ilin avqust ayında çıxan glibc 2.37-dən bəri mövcuddur və həddindən artıq böyük mesajlar yazmaq cəhdlərini idarə edən bir dəyişiklik daxildir. Zəifliyi təqdim edən yamaq, yığın məlumat sızması zəifliyi olan CVE-2022-39046-nı həll etdiyi üçün glibc 2.36 və köhnə glibc versiyaları olan paylanmalar üçün paketlərə geri göndərildi. Məlum oldu ki, zərərsiz bir zəifliyin düzəldilməsi kritik bir problemə səbəb oldu. Qeyd etmək lazımdır ki, libc 5.4.3-dən vsyslog() funksiyasında oxşar bir zəiflik 1997-ci ildə bildirilmişdi.

Zəiflik təsdiqlənib Debian 12 / 13, Ubuntu 23/10/23 və Fedora 37-39. İmtiyazsız istifadəçiyə root imtiyazları əldə etməyə imkan verən istismar, standart konfiqurasiyada bütün qoruma mexanizmlərinin aktivləşdirildiyi tam yenilənmiş Fedora 38 mühitində nümayiş etdirilir. Zəiflik yalnız lokal olaraq istismar edilə bilər, çünki openlog() funksiyasındakı argv[0] parametri və ya ident arqumenti vasitəsilə 1024 baytdan çox məlumat ötürülməsini tələb edir.

Bu zəiflik üçün bir düzəliş bir neçə saat əvvəl Glibc kod bazasına daxil edildi və sabahkı Glibc 2.39 yeniləməsində, həmçinin __vsyslog_internal() koduna təsir edən və bufer daşmalarına səbəb olan iki digər zəiflik (CVE-2023-6779 və CVE-2023-6780) üçün düzəlişlərlə birlikdə daxil ediləcək. Bundan əlavə, Qualys, Glibc tərtibatçıları tərəfindən zəiflik kimi təsnif edilməmiş qsort() funksiyasının tətbiqində bufer daşması barədə xəbərdarlıq etdi, çünki istismar qsort çağırılarkən atipik müqayisə funksiyasından arqument kimi istifadə etməyi və müqayisə edilmiş parametrlər arasındakı fərqi qaytarmağı əhatə edir.

Distribüsiyalardakı zəiflik düzəlişlərinin vəziyyətini bu səhifələrdə qiymətləndirmək olar: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Sisteminizin zəifliyini aşağıdakı əmrdən istifadə edərək yoxlaya bilərsiniz: $ (exec -a "`printf '%0128000x' 1`" /usr/bin/su < /dev/null)
Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster