CVE-2024-56719
Təsvir
Linux kernel-də aşağıdakı zəiflik aradan qaldırılıb: net: stmmac: oops səbəb olan TSO DMA API istifadəsi düzəldildi 66600fac7a98 nömrəli commit ("net: stmmac: TSO: Fix unbalanced DMA map/unmap for non-paged SKB data"), tx_skbuff_dma[] üzvlərinin təyin edilməsini stmmac_tso_xmit() funksiyasının daha sonrakı hissəsinə köçürdü. Bu strukturda saxlanılan buf (dma cookie) və len dəyərləri stmmac_tx_clean() tərəfindən dma_unmap_single() funksiyasına ötürülür. DMA API tələb edir ki, dma_unmap_single() funksiyasına ötürülən dma cookie, dma_map_single() funksiyasından qaytarılan dəyərlə eyni olsun. Lakin, təyinatın sona köçürülməsi nəticəsində, priv->dma_cap.addr64 > 32 olduqda "des" proto_hdr_len qədər sürüşdürülmüş olduğu üçün bu şərt ödənmir. Bu, aşağıdakı kimi problemlərə səbəb olur: dwc-eth-dwmac 2490000.ethernet eth0: Tx DMA map failed və DMA_API_DEBUG aktiv olduqda: DMA-API: dwc-eth-dwmac 2490000.ethernet: device driver tries to +free DMA memory it has not allocated [device address=0x000000ffffcf65c0] [size=66 bytes] Problem, "des" orijinal DMA cookie olaraq saxlanılaraq və stmmac_tso_allocator() funksiyasına sürüşdürülmüş DMA cookie-ni ötürmək üçün tso_des istifadə edilərək həll edilmişdir. Çökmələrin tam təfərrüatları burada tapıla bilər: https://lore.kernel.org/all/[email protected]/ https://lore.kernel.org/all/klkzp5yn5kq5efgtrow6wbvnc46bcqfxs65nz3qy77ujr5turc@bwwhelz2l4dw/
Necə düzəltmək olar
- linux linux_kernel5.16, 6.2, 6.6.68, 6.12.7 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.15.171 ≤ v < 5.16, 6.1.116 ≤ v < 6.2, 6.6.60 ≤ v < 6.6.68, 6.11.7 ≤ v < 6.12.7, 6.13 | 5.16, 6.2, 6.6.68, 6.12.7 |
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.