FreeBSD-nin ping yardım proqramında uzaqdan istifadə edilən kök zəifliyi

FreeBSD baza paylanmasına daxil olan ping yardım proqramında zəifliyə (CVE-2022-23093) malikdir. Problem potensial olaraq təcavüzkar tərəfindən idarə olunan xarici hosta ping atarkən kök kimi uzaqdan kodun icrasına səbəb ola bilər. FreeBSD 13.1-RELEASE-p5, 12.4-RC2-p2 və 12.3-RELEASE-p10 yeniləmələrində düzəliş təklif edilmişdir. Digər BSD sistemlərinin müəyyən edilmiş zəifliyin təsirinə məruz qalıb-qalmaması hələ aydın deyil (netBSD, DragonFlyBSD və OpenBSD hələ bildirilməyib).

Zəifliyə araşdırma sorğusuna cavab olaraq qəbul edilən ICMP mesajları üçün təhlil kodunda bufer daşması səbəb olur. Ping-də ICMP mesajlarının göndərilməsi və qəbulu üçün kod xam soketlərdən istifadə edir və yüksək imtiyazlarla icra olunur (kommunal setuid kök bayrağı ilə gəlir). Cavab, xam soketdən alınan paketlərin IP və ICMP başlıqlarının yenidən qurulması vasitəsilə ping tərəfində işlənir. Çıxarılan IP və ICMP başlıqları, İP başlığından sonra paketdə əlavə genişləndirilmiş başlıqların ola biləcəyindən asılı olmayaraq, pr_pack() funksiyası tərəfindən buferlərə kopyalanır.

Belə başlıqlar paketdən çıxarılır və başlıq blokuna daxil edilir, lakin bufer ölçüsünün hesablanması zamanı nəzərə alınmır. Əgər host göndərilmiş ICMP sorğusuna cavab olaraq əlavə başlıqları olan paketi qaytararsa, onların məzmunu yığındakı bufer sərhədindən kənar sahəyə yazılacaq. Nəticədə, təcavüzkar stekdə 40 bayta qədər məlumatın üzərinə yaza bilər ki, bu da potensial olaraq onun kodunun icrasına imkan verir. Problemin təhlükəsi, səhvin təzahürü zamanı prosesin sistem çağırışlarının (qabiliyyət rejimi) təcrid vəziyyətində olması ilə azaldılır, bu da sistemin qalan hissəsinə daxil olmağı çətinləşdirir. zəiflikdən istifadə etdikdən sonra.

Mənbə: opennet.ru

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