CVE-2026-64032
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: bridge: mcast: Bir bridge port'u kaldırılırken oluşabilecek olası bir serbest bırakıldıktan sonra kullanım (use-after-free) hatası düzeltildi per-VLAN multicast snooping etkinleştirildiğinde, bridge tüm bridge port'ları üzerinde gezinir, her porttaki per-port multicast bağlamını devre dışı bırakır ve bunun yerine per-{port, VLAN} multicast bağlamlarını etkinleştirir. per-VLAN multicast snooping devre dışı bırakıldığında ise işlemin tersi gerçekleşir. Global multicast snooping etkinleştirildiğinde, bridge tüm bridge port'ları üzerinde gezinir ve her portta per-port multicast bağlamını etkinleştirir. Multicast snooping devre dışı bırakıldığında ise işlemin tersi gerçekleşir. Yukarıdaki şema, tek bir bridge port'unda her iki bağlam türünün de (per-port ve per-{port, VLAN}) etkin olduğu bir durumla sonuçlanabilir: # ip link add name br1 up type bridge mcast_snooping 1 mcast_querier 1 vlan_filtering 1 # ip link add name dummy1 up master br1 type dummy # ip link set dev br1 type bridge mcast_vlan_snooping 1 # ip link set dev br1 type bridge mcast_snooping 0 # ip link set dev br1 type bridge mcast_snooping 1 Bu durum amaçlanmamıştır ve aşağıda belirtilen commit'ten beri bir sorun teşkil etmektedir. Bu commit'ten önce, bir bridge port'u kaldırılırken br_multicast_disable_port() fonksiyonu per-port multicast bağlamını devre dışı bırakırdı ve per-{port, VLAN} multicast bağlamları VLAN'lar temizlenirken devre dışı kalırdı. Bu commit'ten sonra, br_multicast_disable_port() yalnızca per-VLAN multicast snooping devre dışıysa per-port multicast bağlamını devre dışı bırakır. Port kaldırıldığında her iki bağlam türü de etkinse, bridge port'u serbest bırakılırken per-port multicast bağlamı etkin kalmaya devam eder ve bu da bir serbest bırakıldıktan sonra kullanım (use-after-free) [1] durumuna yol açar. per-VLAN multicast snooping etkin olduğunda, global multicast snooping değiştirilirken bridge'in per-port multicast bağlamlarını etkinleştirmesi veya devre dışı bırakması engellenerek sorun giderilmiştir. [1] ODEBUG: free active (active state 0) object: ffff88810f8bda78 object type: timer_list hint: br_ip6_multicast_port_query_expired (net/bridge/br_multicast.c:1927) WARNING: lib/debugobjects.c:629 at debug_print_object+0x1b1/0x3e0, CPU#5: swapper/5/0 [...] Call Trace: <IRQ> __debug_check_no_obj_freed (lib/debugobjects.c:1116) kfree (mm/slub.c:2620 mm/slub.c:6250 mm/slub.c:6565) kobject_cleanup (lib/kobject.c:689) rcu_do_batch (kernel/rcu/tree.c:2617) rcu_core (kernel/rcu/tree.c:2869) handle_softirqs (kernel/softirq.c:622) __irq_exit_rcu (kernel/softirq.c:656 kernel/softirq.c:496 kernel/softirq.c:735) irq_exit_rcu (kernel/softirq.c:752) sysvec_apic_timer_interrupt (arch/x86/kernel/apic/apic.c:1061 (discriminator 47) arch/x86/kernel/apic/apic.c:1061 (discriminator 47)) </IRQ>
Nasıl düzeltilir
- linux linux_kernel5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.15.186 ≤ v < 5.15.209, 6.1.142 ≤ v < 6.1.175, 6.6.95 ≤ v < 6.6.142, 6.12.35 ≤ v < 6.12.92, 6.15.4 ≤ v < 6.18.34, 6.19 ≤ v < 7.0.11, 7.1 | 5.15.209, 6.1.175, 6.6.142, 6.12.92, 6.18.34, 7.0.11 |
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.