Linux Mint və Elementary OS-yə təsir edən sudo root zəifliyi

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-18634), sistemdəki imtiyazlarınızı kök istifadəçiyə artırmağa imkan verir. Problem yalnız /etc/sudoers faylında “pwfeedback” seçimindən istifadə edərkən sudo 1.7.1-in buraxılmasından sonra ortaya çıxır, bu, defolt olaraq söndürülür, lakin Linux Mint və Elementary OS kimi bəzi paylanmalarda aktivdir. Buraxılışda problem həll edildi sudo 1.8.31, bir neçə saat əvvəl dərc edilib. Zəiflik paylama dəstlərində düzəldilməyib.

“Pwfeedback” seçimi parol daxil edərkən hər daxil edilmiş simvoldan sonra “*” simvolunun göstərilməsinə imkan verir. Çünki Səhvlər Tgetpass.c faylında müəyyən edilmiş getln() funksiyasının həyata keçirilməsi zamanı müəyyən şərtlər altında standart giriş axını (stdin) vasitəsilə ötürülən çox böyük parol sətri ayrılmış buferə sığmaya və stekdəki digər məlumatların üzərinə yazıla bilər. Sudo kodunu kök kimi işlədən zaman daşma baş verir.

Problemin mahiyyəti ondan ibarətdir ki, giriş zamanı xüsusi ^U simvolundan (xəttin təmizlənməsi) istifadə edildikdə və yazma əməliyyatı uğursuz olarsa, çıxışın “*” simvollarının təmizlənməsinə cavabdeh olan kod mövcud bufer ölçüsündə məlumatları sıfırlayır, lakin etmir. göstəricini buferdəki ilkin dəyərin cari mövqeyinə qaytarın. İstifadəyə kömək edən digər amil, məlumatların terminaldan deyil, giriş axını vasitəsilə daxil olduğu zaman “pwfeedback” rejiminin avtomatik söndürülməməsidir (bu qüsur, məsələn, sistemlərdə qeyd xətasının baş verməsi üçün şərait yaratmağa imkan verir. bir istiqamətli adsız kanallar oxunan kanalın sonuna yazmaq istəyərkən xəta baş verir).

Təcavüzkar stekdə verilənlərin üzərinə yazılması üzərində tam nəzarətə malik olduğundan, ona öz imtiyazlarını kökündən çıxarmağa imkan verən istismar yaratmaq çətin deyil. Problem sudo icazələrindən və ya sudoer-lərdə istifadəçiyə məxsus parametrlərdən asılı olmayaraq istənilən istifadəçi tərəfindən istifadə edilə bilər. Problemi bloklamaq üçün, /etc/sudoers-də heç bir “pwfeedback” parametrinin olmadığına əmin olmalısınız və lazım gələrsə, onu deaktiv edin (“Defaults !pwfeedback”). Problemin olub olmadığını yoxlamaq üçün kodu işlədə bilərsiniz:

$ perl -e 'print(("A" x 100 . "\x{00}") x 50)' | sudo -S id
Parol: Seqmentasiya xətası

Mənbə: opennet.ru

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