CVE-2026-31419
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: bonding: bond_xmit_broadcast() fonksiyonundaki serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi bond_xmit_broadcast(), son slave için (bond_is_last_slave() tarafından belirlenen) orijinal skb'yi yeniden kullanır ve diğerleri için bunu klonlar. Eşzamanlı slave ekleme/çıkarma işlemleri, RCU korumalı yineleme sırasında slave listesini değiştirerek döngü ortasında hangi slave'in "sonuncu" olduğunu değiştirebilir. Bu durum, orijinal skb'nin iki kez tüketilmesine (iki kez serbest bırakılmasına) neden olur. Yarış durumuna açık olan bond_is_last_slave() kontrolü, döngüden önce READ_ONCE() aracılığıyla alınan anlık görüntü slave sayısı ile basit bir indeks karşılaştırması (i + 1 == slaves_count) ile değiştirilmiştir. Bu işlem, son slave için sıfır kopya optimizasyonunu korurken, "sonuncu" belirlemesini eşzamanlı liste mutasyonlarına karşı kararlı hale getirir. Bu UAF durumu şu çökmeyi tetikleyebilir: ================================================================== BUG: KASAN: slab-use-after-free in skb_clone Read of size 8 at addr ffff888100ef8d40 by task exploit/147 CPU: 1 UID: 0 PID: 147 Comm: exploit Not tainted 7.0.0-rc3+ #4 PREEMPTLAZY Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:123) print_report (mm/kasan/report.c:379 mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:597) skb_clone (include/linux/skbuff.h:1724 include/linux/skbuff.h:1792 include/linux/skbuff.h:3396 net/core/skbuff.c:2108) bond_xmit_broadcast (drivers/net/bonding/bond_main.c:5334) bond_start_xmit (drivers/net/bonding/bond_main.c:5567 drivers/net/bonding/bond_main.c:5593) dev_hard_start_xmit (include/linux/netdevice.h:5325 include/linux/netdevice.h:5334 net/core/dev.c:3871 net/core/dev.c:3887) __dev_queue_xmit (include/linux/netdevice.h:3601 net/core/dev.c:4838) ip6_finish_output2 (include/net/neighbour.h:540 include/net/neighbour.h:554 net/ipv6/ip6_output.c:136) ip6_finish_output (net/ipv6/ip6_output.c:208 net/ipv6/ip6_output.c:219) ip6_output (net/ipv6/ip6_output.c:250) ip6_send_skb (net/ipv6/ip6_output.c:1985) udp_v6_send_skb (net/ipv6/udp.c:1442) udpv6_sendmsg (net/ipv6/udp.c:1733) __sys_sendto (net/socket.c:730 net/socket.c:742 net/socket.c:2206) __x64_sys_sendto (net/socket.c:2209) do_syscall_64 (arch/x86/entry/syscall_64.c:63 arch/x86/entry/syscall_64.c:94) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) </TASK> Allocated by task 147: Freed by task 147: The buggy address belongs to the object at ffff888100ef8c80 which belongs to the cache skbuff_head_cache of size 224 The buggy address is located 192 bytes inside of freed 224-byte region [ffff888100ef8c80, ffff888100ef8d60) Memory state around the buggy address: ffff888100ef8c00: fb fb fb fb fc fc fc fc fc fc fc fc fc fc fc fc ffff888100ef8c80: fa fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb >ffff888100ef8d00: fb fb fb fb fb fb fb fb fb fb fb fb fc fc fc fc ^ ffff888100ef8d80: fc fc fc fc fc fc fc fc fa fb fb fb fb fb fb fb ffff888100ef8e00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb ==================================================================
Nasıl düzeltilir
- linux linux_kernel5.11, 5.16, 5.17, 6.12.86, 6.18.22, 6.19.12 ya da sonraki bir sürüm
- access.redhat.com/errata/RHSA-2026:22334
- access.redhat.com/errata/RHSA-2026:13566
- access.redhat.com/errata/RHSA-2026:25191
- access.redhat.com/errata/RHSA-2026:22940
- access.redhat.com/errata/RHSA-2026:21209
- access.redhat.com/errata/RHSA-2026:23224
- access.redhat.com/errata/RHSA-2026:25217
- access.redhat.com/errata/RHSA-2026:35870
- access.redhat.com/errata/RHSA-2026:27353
- access.redhat.com/errata/RHSA-2026:36530
- access.redhat.com/errata/RHSA-2026:19521
- access.redhat.com/errata/RHSA-2026:36531
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.10.94 ≤ v < 5.11, 5.15.17 ≤ v < 5.16, 5.16.3 ≤ v < 5.17, 5.17 ≤ v < 6.12.86, 6.13 ≤ v < 6.18.22, 6.19 ≤ v < 6.19.12, 7.0 | 5.11, 5.16, 5.17, 6.12.86, 6.18.22, 6.19.12 |
Sürümünüzü kontrol edin
Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.
Attack Surface Management
Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.