Linux nüvəsində TIPC protokolunun həyata keçirilməsində uzaqdan zəiflik

Linux nüvəsində təchiz edilmiş TIPC (Şəffaf Proseslərarası Rabitə) şəbəkə protokolunun tətbiqi zamanı kritik zəiflik (CVE-2021-43267) müəyyən edilmişdir ki, bu da xüsusi hazırlanmış kod göndərməklə kodunuzu nüvə imtiyazları ilə uzaqdan icra etməyə imkan verir. şəbəkə paketi. Problemin təhlükəsi, hücumun sistemdə TIPC dəstəyinin açıq şəkildə aktivləşdirilməsini (tipc.ko ləpə modulunun yüklənməsi və konfiqurasiyası) tələb etməsi ilə azaldılır ki, bu, qeyri-ixtisaslaşdırılmış Linux paylamalarında standart olaraq edilmir.

TIPC protokolu Linux nüvəsi 3.19-dan bəri dəstəklənir, lakin zəifliyə səbəb olan kod kernel 5.10-a daxil edilmişdir. Zəiflik 5.15.0, 5.10.77 və 5.14.16 nüvələrində düzəldilib. Problem Debian 11, Ubuntu 21.04/21.10, SUSE (hələ buraxılmamış SLE15-SP4 filialında), RHEL (həssas düzəlişin dəstəkləndiyi hələ ətraflı deyil) və Fedora-da görünür və hələ də həll edilməyib. Arch Linux üçün nüvə yeniləməsi artıq buraxılmışdır. Debian 5.10 və Ubuntu 10 kimi 20.04-dan köhnə nüvəyə malik paylamalar problemdən təsirlənmir.

TIPC protokolu ilk olaraq Ericsson tərəfindən hazırlanmışdır, klasterdə proseslərarası əlaqəni təşkil etmək üçün nəzərdə tutulmuşdur və əsasən klaster qovşaqlarında aktivləşdirilir. TIPC ya Ethernet, ya da UDP üzərində işləyə bilər (şəbəkə portu 6118). Ethernet üzərində işləyərkən hücum yerli şəbəkədən, UDP istifadə edərkən isə port firewall ilə əhatə olunmursa, qlobal şəbəkədən həyata keçirilə bilər. Hücum həm də hostun imtiyazsız yerli istifadəçisi tərəfindən həyata keçirilə bilər. TIPC-ni aktivləşdirmək üçün siz tipc.ko kernel modulunu yükləməlisiniz və netlink və ya tipc yardım proqramından istifadə edərək şəbəkə interfeysinə bağlanmanı konfiqurasiya etməlisiniz.

Zəiflik tipc_crypto_key_rc funksiyasında özünü göstərir və digər qovşaqlardan şifrələmə açarlarını əldə etmək üçün istifadə edilən MSG_CRYPTO tipli paketləri təhlil edərkən başlıqda göstərilən məlumatlar ilə məlumatların faktiki ölçüsü arasında uyğunluğun düzgün yoxlanılmaması ilə əlaqədardır. bu qovşaqlardan göndərilən mesajların sonradan deşifrə edilməsi məqsədilə klasterdə. Yaddaşa kopyalanan məlumatların ölçüsü mesajın ölçüsü ilə başlıq ölçüsü olan sahələrin dəyərləri arasındakı fərq kimi hesablanır, lakin şifrələmə alqoritminin adının faktiki ölçüsü və məzmunun məzmunu nəzərə alınmadan. mesajda ötürülən açar. Güman edilir ki, alqoritm adının ölçüsü sabitdir və açar üçün əlavə olaraq ölçüsü olan ayrıca atribut ötürülür və təcavüzkar bu atributda faktiki olandan fərqli bir dəyər təyin edə bilər ki, bu da atributun yazılmasına səbəb olacaq. ayrılmış buferdən kənarda mesajın quyruğu. struct tipc_aead_key { char alg_name[TIPC_AEAD_ALG_NAME]; imzasız int keylen; /* baytlarda */ char key[]; };

Linux nüvəsində TIPC protokolunun həyata keçirilməsində uzaqdan zəiflik


Mənbə: opennet.ru

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