CVE-2025-37799
Təsvir
Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: vmxnet3: vmxnet3_process_xdp funksiyasında yanlış paket ölçülərinin təyin edilməsi düzəldildi vmxnet3 drayverinin XDP emalı ring0 istifadə edən paket ölçüləri üçün (yəni 128 - 3k bayt arasındakı paket ölçüləri) xətalıdır. NIC olaraq vmxnet3 istifadə edildikdə, Cilium-un servis yükləmə balanslaşdırılması ilə bağlı MTU əlaqəli bağlantı problemləri aşkar edilmişdir. XDP LB tərəfindən IPIP enkapsulyasiyasının həyata keçirildiyi HTTP backend servisinə sadə bir curl sorğusu bəzi paketlərin (məsələn, HTTP GET sorğusunun) həddindən artıq böyük olmasına səbəb olurdu, halbuki digər paketlər (məsələn, əvvəlki TCP 3WHS) şəbəkədə tamamilə normal görünürdü. Əslində, backend düyündəki pcap yazısı göstərdi ki, XDP LB olan düyün təsirə məruz qalan paketlər üçün şəbəkəyə başladılmamış nüvə məlumatlarını sızdırırdı. Məsələn, paketlər 152 bayt olmalı olduğu halda, onların faktiki ölçüsü 1482 bayt idi və 152 baytdan sonrakı hissə həmin anda səhifədə olan hər hansı digər məlumatlarla (məsələn, əvvəl emal edilmiş paketlərdən istifadəçi/payload məlumatları ilə) doldurulmuşdu. Bu problem yalnız MTU problemi vasitəsilə müşahidə edildi; məsələn, XDP LB düyünü və backend düyünün hər ikisi eyni MTU-ya (məsələn, 1500) malik olduqda, IPIP-enkapsulyasiya olunmuş paket normalda MTU limitinə yaxınlaşmasa belə, paket çox böyük olduğu üçün curl sorğusu backend düyünün NIC-də rədd edildi. XDP LB üzərində MTU-nun azaldılması (məsələn, 1480) curl sorğusunun uğurlu tamamlanmasına imkan verdi (bu həmçinin göstərir ki, nüvə padding-i nəzərə almayıb və buna görə də problem istifadəçi üçün çox görünən olmayıb). e127ce7699c1 ("vmxnet3: Fix missing reserved tailroom") commit-i xdp_prepare_buff() funksiyasını rcd->len-dən rbi->len-ə keçirməkdə tələsik davranmışdı. Bu funksiya mütləq deskriptordan gələn faktiki paket uzunluğu olan rcd->len-ə əsaslanmalıdır. Yeri gəlmişkən, biz bunu vmxnet3_process_xdp_small() funksiyasına da ötürürük və bu, xdp->{data,data_end} hissələrini başlatmaq üçün lazım olan düzgün uzunluğu göstərir. e127ce7699c1 ("vmxnet3: Fix missing reserved tailroom") commit-i üçün müvafiq hissə, xdp_data_hard_end()-in xdp->frame_sz-dən asılı olduğunu nəzərə alaraq xəbərdarlığı aradan qaldırmaq üçün xdp_init_buff()-in uyğunlaşdırılması idi. Bunun düzəldilməsi ilə şəbəkədəki trafik yenidən normal hala gətirilmişdir.
Necə düzəltmək olar
- linux linux_kernel6.6.89, 6.8, 6.12.26, 6.14.5 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 | 6.6.23 ≤ v < 6.6.89, 6.7.11 ≤ v < 6.8, 6.8.2 ≤ v < 6.12.26, 6.13 ≤ v < 6.14.5, 6.15 | 6.6.89, 6.8, 6.12.26, 6.14.5 |
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.