CVE-2026-64026
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: rxrpc: recvmsg funksiyasında məlumatın buferə kopyalanması ilə DATA şifrəsinin açılması və splice() arasındakı problem düzəldildi Bu, CVE-2026-43500 üçün tətbiq edilən həllini təkmilləşdirir. splice() vasitəsilə lokal olaraq ötürülən DATA paketinin yerində şifrəsinin açılmasından qaynaqlanan pagecache korlanması problemi, I/O axınında paketin paylaşılmasının ləğv edilməsi və paket məzmununun şərtsiz olaraq şifrənin açıldığı bounce buferinə çıxarılması ilə həll edilmişdir. Daha sonra recvmsg() (və ya nüvə ekvivalenti) məlumatları bounce buferindən hədəf buferə kopyalayır. Beləliklə, sk_buff dəyişdirilmədən qalır. Bunun əlavə üstünlüyü ondan ibarətdir ki, paket kriptoqrafik alqoritmlərin birbaşa emal etməsi üçün tələb olunan düzgün hizalama ilə buferdə yerləşdirilir. Kriptoqrafiyanın performansı bir qədər artmış görünür və təəccüblüdür ki, şifrələnməmiş məlumatların performansı çox dəyişmir - bu, yəqin ki, I/O axınındakı mürəkkəbliyin azaldılması ilə bağlıdır. Digər bir üstünlük isə I/O axınının paketləri kopyalamalı olmamasıdır, çünki bu, paketlərin paylanmasını, ACK generasiyasını və s. yavaşladardı. Bufer çağırışa məxsusdur və ilkin olaraq 2K ölçüsündə ayrılır ki, bu da bütün bir jumbo altpaketi saxlamaq üçün kifayətdir, lakin ehtiyac olduqda buferin ölçüsü artırılacaqdır. Bununla belə, bu yanaşma ilə MSG_PEEK sonrakı paketin buferdə şifrəsinin açılmasına səbəb ola bilər ki, bu halda növbəti recvmsg() üçün əvvəlki paketin yenidən şifrəsinin açılması tələb olunacaq. Qeyd edin ki, rx_pkt_offset artıq legitim olaraq 0-ı keçərli ofset kimi görə bilər, buna görə də keçərsiz ofseti bildirmək üçün USHRT_MAX istifadəsinə keçid edildi. Həmçinin qeyd edim ki, mən ümumiyyətlə mövcud sk_buff buferlərini düzgün ölçülü yeni kmalloc-edilmiş buferlə əvəzləyib köhnə məlumatları və fraqmentləri silməyə üstünlük verərdim, çünki bu, MSG_PEEK idarəetməsini asanlaşdırır və yenidən şifrə açma problemini aradan qaldırır, lakin bunu reallaşdırmaq kifayət qədər mürəkkəb görünür. skb_morph() istədiyim nəticəyə yaxın görünür, lakin yeni sk_buff ayırmaq istəmirəm.
Necə düzəltmək olar
- linux linux_kernel6.6.143, 6.12.93, 6.18.35, 7.0.11 və ya daha yeni versiya
Təsirlənən məhsullar
| Məhsul | Təsirlənən versiyalar | Düzəldildiyi versiya |
|---|---|---|
| linux linux_kernel | 5.3.1 ≤ v < 6.6.143, 6.7 ≤ v < 6.12.93, 6.13 ≤ v < 6.18.35, 6.19 ≤ v < 7.0.11, 5.3, 7.1 | 6.6.143, 6.12.93, 6.18.35, 7.0.11 |
Versiyanızı yoxlayın
Məhsulu seçin və istifadə etdiyiniz versiyanı yazın; versiyanın təsirlənən aralıqda olub-olmadığını görün.
Attack Surface Management
Domenlərinizə bağlı aktivləri, onlarda işləyən texnologiyaları və məlum zəiflikləri bir siyahıda görün.