CVE-2026-68138
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net/sched: eşzamanlı get/put işlemlerine karşı qdisc_rtab_list serileştirildi qdisc_get_rtab() ve qdisc_put_rtab() fonksiyonları, herhangi bir kilit mekanizması olmaksızın süreç genelindeki tek yönlü bağlı liste olan qdisc_rtab_list yapısını ve atomik olmayan düz bir 'int refcnt' değerini değiştirir. Bu durum, geçmişte tüm çağıranların tüm hız tablosu aramalarını, eklemelerini ve serbest bırakmalarını serileştiren RTNL mutex kilidine sahip olması nedeniyle güvenliydi. Bu değişmezlik artık geçerli değildir. cls_flower TCF_PROTO_OPS_DOIT_UNLOCKED ayarını yapar, bu nedenle tc_new_tfilter() onun için rtnl_held == false değerini korur ve TCA_ACT_FLAGS_NO_RTNL ayarlar. Bu bayrak tcf_exts_validate_ex() -> tcf_action_init() -> tcf_action_init_1() -> tcf_police_init() üzerinden yayılır ve tcf_police_init(), RTNL mutex kilidi tutulmadan qdisc_get_rtab()/qdisc_put_rtab() fonksiyonlarını çağırır. Farklı CPU'larda gerçekleşen ve her biri aynı hıza sahip bir police eylemi içeren flower filtresi ekleyen iki RTM_NEWTFILTER isteği, qdisc_rtab_list üzerinde ve atomik olmayan refcnt üzerinde yarış durumuna (race condition) yol açarak kmalloc-2k struct qdisc_rate_table yapısının serbest bırakıldıktan sonra kullanımı (use-after-free) veya çift serbest bırakılmasına (double-free) neden olur. qdisc_rtab_list tek bir küresel yapı olduğundan (per-netns değil), bozulmuş nesne sistem genelinde paylaşılır. BUG: KASAN: slab-use-after-free in qdisc_put_rtab+0x12f/0x160 qdisc_put_rtab+0x12f/0x160 tcf_police_init+0xda9/0x1590 tcf_action_init_1+0x460/0x6b0 tcf_action_init+0x439/0xa40 tcf_exts_validate_ex+0x42d/0x550 fl_change+0xddd/0x7da0 tc_new_tfilter+0xaa7/0x2420 rtnetlink_rcv_msg+0x95e/0xe90 which belongs to the cache kmalloc-2k of size 2048 qdisc_rtab_list ve referans sayacı özel bir spinlock ile koruma altına alınmıştır. qdisc_get_rtab() içerisindeki (uyuyan, GFP_KERNEL) tahsis işlemi kilit alınmadan önce gerçekleştirilir; eğer bu sırada eşzamanlı bir ekleyici aynı tabloyu eklemişse, yeni tahsis edilen tablo kilit altında serbest bırakılır, böylece yinelenen bir sızıntı oluşmaz. qdisc_put_rtab() artık referans sayacını aynı kilit altında azaltmakta ve bağlantıyı kesmektedir.
Nasıl düzeltilir
- Linux Linux1b050d09dd1a0ddae83bf012cf4956b7a960235f, 6e0241f6cbb149d926ee8efee2c734fea71452cf, f93c89392bd3b180b5b7abc6fdae8e3dd667a313, 4131dd0b6f67acddd616ed7c244e1d3eedd46e7b, d981098b76756ed71666a27518eeb69883657c43, 8ddc2eb0d2da9c83f54f1e5720525b461b8480c4, fb29e1b41052488ee3f2d115d4a870497ebd7f7d, f43ee0c0730d6191629b5ee1ceae27b1ebfdc047 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < 1b050d09dd1a0ddae83bf012cf4956b7a960235f, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < 6e0241f6cbb149d926ee8efee2c734fea71452cf, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < f93c89392bd3b180b5b7abc6fdae8e3dd667a313, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < 4131dd0b6f67acddd616ed7c244e1d3eedd46e7b, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < d981098b76756ed71666a27518eeb69883657c43, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < 8ddc2eb0d2da9c83f54f1e5720525b461b8480c4, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < fb29e1b41052488ee3f2d115d4a870497ebd7f7d, 470502de5bdb1ed0def643a4458593a40b8f6b66 ≤ v < f43ee0c0730d6191629b5ee1ceae27b1ebfdc047, 5.1 | 1b050d09dd1a0ddae83bf012cf4956b7a960235f, 6e0241f6cbb149d926ee8efee2c734fea71452cf, f93c89392bd3b180b5b7abc6fdae8e3dd667a313, 4131dd0b6f67acddd616ed7c244e1d3eedd46e7b, d981098b76756ed71666a27518eeb69883657c43, 8ddc2eb0d2da9c83f54f1e5720525b461b8480c4, fb29e1b41052488ee3f2d115d4a870497ebd7f7d, f43ee0c0730d6191629b5ee1ceae27b1ebfdc047 |
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.