CVE-2025-38124

Yüksək

Təsvir

Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: frag_list-dən pull edildikdən sonra udp gso skb_segment düzəldilib a1e40ac5b5e9 commit-i ("net: gso: fix udp gso fraglist segmentation after pull from frag_list") frag_list skb-lərində etibarsız həndəsəni aşkar edib onları skb_segment_list-dən daha davamlı skb_segment-ə yönləndirirdi. Lakin dəyişdirilmiş həndəsəyə malik bəzi paketlər həmin kodda da xətalara səbəb ola bilər. Bu cür halların nə qədər olduğunu bilmirik. Hər birini ayrı-ayrılıqda həll etmək həm də mürəkkəb skb_segment koduna toxunmağı tələb edir ki, bu da digər skb növləri üçün xətaların yaranması riski daşıyır. Əvəzində, gso fraglist skb-lərində əsas invariantları pozan bütün bu paketləri linearlaşdırırıq. Bu daha davamlıdır. Əgər fraglist yükünün yalnız bir hissəsi head_skb-yə pull edilirsə, bu, skb-ləri skb_segment ilə bölərkən həmişə istisnaya səbəb olacaq. Ətraflı çağırış yığını məlumatı üçün aşağıya baxın. Etibarlı SKB_GSO_FRAGLIST skb-ləri - iki və ya daha çox seqmentdən ibarətdir - head_skb protokol başlıqlarını və ilk gso_size-u saxlayır - bir və ya daha çox frag_list skb-si dəqiq bir seqment saxlayır - sonuncudan başqa hamısı gso_size olmalıdır NAT və BPF (bpf_skb_pull_data) kimi əlavə datapath hook-ları fraglist skb-lərini dəyişdirərək bu invariantları poza bilər. Ekstremal hallarda onlar məlumatın bir hissəsini skb linear-ə pull edirlər. UDP üçün bu, uzunluqları (11,11,10) bayt olan üç yükün quyruqdan pull edilərək (12,10,10) bayta çevrilməsinə səbəb olur. Skb-lər artıq yuxarıdakı SKB_GSO_FRAGLIST şərtlərinə cavab vermir, çünki yük head_skb-yə pull edilib, adi skb_segment-ə ötürülməzdən əvvəl linearlaşdırılmalıdır. skb_segment+0xcd0/0xd14 __udp_gso_segment+0x334/0x5f4 udp4_ufo_fragment+0x118/0x15c inet_gso_segment+0x164/0x338 skb_mac_gso_segment+0xc4/0x13c __skb_gso_segment+0xc4/0x124 validate_xmit_skb+0x9c/0x2c0 validate_xmit_skb_list+0x4c/0x80 sch_direct_xmit+0x70/0x404 __dev_queue_xmit+0x64c/0xe5c neigh_resolve_output+0x178/0x1c4 ip_finish_output2+0x37c/0x47c __ip_finish_output+0x194/0x240 ip_finish_output+0x20/0xf4 ip_output+0x100/0x1a0 NF_HOOK+0xc4/0x16c ip_forward+0x314/0x32c ip_rcv+0x90/0x118 __netif_receive_skb+0x74/0x124 process_backlog+0xe8/0x1a4 __napi_poll+0x5c/0x1f8 net_rx_action+0x154/0x314 handle_softirqs+0x154/0x4b8 [118.376811] [C201134] rxq0_pus: [name:bug&]kernel BUG at net/core/skbuff.c:4278! [118.376829] [C201134] rxq0_pus: [name:traps&]Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP [118.470774] [C201134] rxq0_pus: [name:mrdump&]Kernel Offset: 0x178cc00000 from 0xffffffc008000000 [118.470810] [C201134] rxq0_pus: [name:mrdump&]PHYS_OFFSET: 0x40000000 [118.470827] [C201134] rxq0_pus: [name:mrdump&]pstate: 60400005 (nZCv daif +PAN -UAO) [118.470848] [C201134] rxq0_pus: [name:mrdump&]pc : [0xffffffd79598aefc] skb_segment+0xcd0/0xd14 [118.470900] [C201134] rxq0_pus: [name:mrdump&]lr : [0xffffffd79598a5e8] skb_segment+0x3bc/0xd14 [118.470928] [C201134] rxq0_pus: [name:mrdump&]sp : ffffffc008013770

CiddilikYüksək
CVSS7.5
İstismar ehtimalı—
MəhsulLinux Kernel
Dərc3 iyl 2025
İlk görülmə3 iyl 2025

Necə düzəltmək olar

Yeniləyin
  • linux linux_kernel6.1.142, 6.6.94, 6.11, 6.12, 6.12.34, 6.15.3 və ya daha yeni versiya

Təsirlənən məhsullar

MəhsulTəsirlənən versiyalarDüzəldildiyi versiya
linux linux_kernel6.1.113 ≤ v < 6.1.142, 6.6.55 ≤ v < 6.6.94, 6.10.14 ≤ v < 6.11, 6.11.3 ≤ v < 6.12, 6.12.1 ≤ v < 6.12.34, 6.13 ≤ v < 6.15.3, 6.126.1.142, 6.6.94, 6.11, 6.12, 6.12.34, 6.15.3
debian debian_linux11.0—

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.

CVE-2025-38124 · Linux Kernel · Dark Radar