CVE-2026-23016

Orta

Təsvir

Linux nüvəsində aşağıdakı zəiflik aradan qaldırılıb: inet: frags: fraglist conntrack istinadlarını silin Jakub sızan skb-lərin/conntrack istinadlarının sazlanmasını daha aşkar etmək üçün nf_conntrack_cleanup_net_list() funksiyasına xəbərdarlıq əlavə etdi. syzbot bunun tetikləndiyini bildirir və mən də bunu ip_defrag.sh özünütesti vasitəsilə təkrar edə bilirəm: conntrack cleanup blocked for 60s WARNING: net/netfilter/nf_conntrack_core.c:2512 [..] Conntrack təmizlənməsi ilişib qalır, çünki bəzi skb-lər hələ də frag_list vasitəsilə nf_conn istinadlarına malikdir. net.core.skb_defer_max=0 tənzimləməsi donmanı aradan qaldırır. Eric Dumazet qeyd edir ki, skb_release_head_state() fraglist-i izləmir. ip_defrag.sh bu problemi yalnız 6471658dc66c ("udp: use skb_attempt_defer_free()") commit-indən sonra təkrar edə bilir, lakin gördüyüm qədərilə, PMTU kəşfi söndürüldükdə bu problem TCP ilə də baş verə bilər. UDP üçün müvafiq problem yolu belədir: 1. netns fraqmentləşdirilmiş paketlər göndərir 2. nf_defrag_v6_hook onları birləşdirir (çıxış hook-unda) 3. Birləşdirilmiş skb izlənilir (skb nf_conn istinadına sahib olur) 4. ip6_output yenidən fraqmentləşdirir 5. Yenidən fraqmentləşdirilmiş paketlər də nf_conn istinadına sahib olur (ip6_fragment funksiyası ip6_copy_metadata()-nı çağırır) 6. Giriş yolunda nf_defrag_v6_hook defraqmentasiyanı ötürür: fraqmentlərdə artıq skb->nf_conn qoşulub 7. skb-lər ipv6_frag_rcv() vasitəsilə birləşdirilir 8. skb_consume_udp -> skb_attempt_defer_free() -> skb sonda pcpu freelist-ə düşür, lakin hələ də nf_conn istinadı saxlayır. Mümkün həllər: 1 defrag mühərrikinin nf_conn yazısını silməsinə icazə vermək VƏ YA 2 kick_defer_list_purge()-ı ixrac etmək və onu conntrack netns çıxış callback-indən çağırmaq VƏ YA 3 skb_attempt_defer_free()-a skb_has_frag_list() yoxlamasını əlavə etmək 2 və 3 variantları həmçinin ip_defrag.sh donmasını həll edir, lakin eyni çatışmazlığa malikdir: Soketə növbəyə alınmış belə birləşdirilmiş skb-lər, istifadəçi sahəsi paketi istehlak edənə qədər conntrack modulunun silinməsinə mane ola bilər. Həm TCP, həm də UDP stekləri skb-ni soket növbəsinə yerləşdirməzdən əvvəl nf_reset_ct()-ni çağırsalar da, həmin funksiya frag_list skb-ləri üzərində dövr etmir. Buna görə də, defrag növbəsinə yerləşdirildikdə nf_conn yazılarını silin. Birinci (ofset 0) skb-nin nf_conn yazısını saxlayın ki, birləşdirilmiş skb TX yolu üçün nf_conn yazısını qorusun. Qeyd edin ki, düzəliş teqi yanlışdır; o, 'ip_defrag.sh təkrar olunan problemini' gətirən commit-ə işarə edir: bu yamayı hər bir stabil nüvəyə tətbiq etməyə ehtiyac yoxdur.

CiddilikOrta
CVSS5.5
İstismar ehtimalı4. faiz dərəcəsi0,2%
MəhsulLinux Kernel
Dərc31 yan 2026
İlk görülmə31 yan 2026

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.18.6 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.18.1 ≤ v < 6.18.6, 6.18, 6.196.18.6

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.

Intelligence 360 paketində

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.