CVE-2026-98629
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: net/sched: cls_u32: manuel hash tablosu handle IDR takma adlandırması düzeltildi Açık bir handle ile oluşturulan ('tc filter add ... handle 801: u32 divisor N') bir u32 hash tablosu, IDR girişini ham handle üzerinden anahtarlarken, yok etme yolları bunu handle2id(handle) altında serbest bırakır. İki anahtar alanı 0x800..0xFFF htid aralığındaki handle'lar için uyuşmazlık gösterir: handle2id(), bunları otomatik olarak tahsis edilen kimlik alanına (1..0x7FF) geri katlar. Bu nedenle, manuel bir tablo silme sırasında ham anahtarlı IDR girişini erişilemez durumda bırakır (kalıcı sızıntı) ve silme işlemi, ilgili olmayan canlı bir otomatik tablonun idr girişini düşürebilir. Daha sonraki bir otomatik tahsis, canlı manuel tabloyla aynı takma ada sahip bir handle verebilir; u32_lookup_ht() ilk eşleşme yönlendirmeleri ve o htid için TCA_U32_LINK aramaları yanlış tabloya yönlendirilir. Tahsis ve kaldırma işlemlerinin tek bir anahtar alanını paylaşması için divisor-yolu tahsisi handle2id(handle) üzerine anahtarlanmıştır. Halihazırda kullanımda olan bir kimliğe eşlenen manuel bir handle -ENOSPC ile reddedilir ve otomatik tahsis, canlı manuel tablolar tarafından tutulan kimlikleri atlar. Yeniden oluşturma koşulları: ip link add test0 type dummy tc qdisc add dev test0 clsact tc filter add dev test0 ingress protocol ip pref 1 \ handle 801: u32 divisor 16 tc filter add dev test0 ingress protocol ip pref 2 u32 divisor 16 tc -d filter show dev test0 ingress | grep 'fh 801:' # yamalanmamış: 0x80100000 handle'ına sahip iki canlı tablo (pref 2 kök # hnode'u otomatik tahsis edilmiş id 1'dir); yamalanmış: otomatik hnode id 2'yi alır. Blok üzerinde canlı bir u32 tablosunun bulunduğu bir PoC ile de test edilmiştir; 'handle 901: u32 divisor 1' şeklinde manuel bir tablo iki kez eklenmiş/silinmiştir; yamalanmamış sürümde, ilk silme işleminde ham anahtar sızdığı için yeniden ekleme -ENOSPC ile başarısız olur.
Nasıl düzeltilir
- Linux Linux21fc07924e996e1e661268ca269c86b8d59d25b3, 0fac292d93fdb313099e98cce928b3a524c92c94, 54a454c5e41f5e2cb70c8163140ce095c5d5eefd, f6696481eedfd5752b4b56eed715d0b0fe48b9c5, 2f898f9ec7c73c5697ee462681e7ea6984ee1f3d, 0a5f5d9e94dead312d32c366b917c64e552b72f7, 6.1.189, 6.6.158, 6.12 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 9b2c3184e126b941dfa716b8128ed6db92a64e2f ≤ v < 21fc07924e996e1e661268ca269c86b8d59d25b3, 789f9963bd031c3a185605665b744912df8e7eda ≤ v < 0fac292d93fdb313099e98cce928b3a524c92c94, 73af53d82076bbe184d9ece9e14b0dc8599e6055 ≤ v < 54a454c5e41f5e2cb70c8163140ce095c5d5eefd, 73af53d82076bbe184d9ece9e14b0dc8599e6055 ≤ v < f6696481eedfd5752b4b56eed715d0b0fe48b9c5, 73af53d82076bbe184d9ece9e14b0dc8599e6055 ≤ v < 2f898f9ec7c73c5697ee462681e7ea6984ee1f3d, 73af53d82076bbe184d9ece9e14b0dc8599e6055 ≤ v < 0a5f5d9e94dead312d32c366b917c64e552b72f7, 4403f9293ce9ecc2a55c688d84ee37e3ba0fc1a8, 6.1.119 ≤ v < 6.1.189, 6.6.63 ≤ v < 6.6.158, 6.11.10 ≤ v < 6.12, 6.12 | 21fc07924e996e1e661268ca269c86b8d59d25b3, 0fac292d93fdb313099e98cce928b3a524c92c94, 54a454c5e41f5e2cb70c8163140ce095c5d5eefd, f6696481eedfd5752b4b56eed715d0b0fe48b9c5, 2f898f9ec7c73c5697ee462681e7ea6984ee1f3d, 0a5f5d9e94dead312d32c366b917c64e552b72f7, 6.1.189, 6.6.158, 6.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.