CVE-2026-98289
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: af_unix: __unix_walk_scc() fonksiyonunda SCC sonlandırılırken scc_index birleştiriliyor. bfdb01283ee8 ("af_unix: Assign a unique index to SCC.") commit'i, Tarjan algoritmasını lowlink değerini lowpoint (unix_vertex.scc_index) ile güncelleyecek şekilde değiştirmiştir. unix_vertex_dead() fonksiyonu, bir SCC içindeki tüm vertexlerin aynı lowpoint değerini paylaştığını varsayar; ancak DFS sırasına bağlı olarak, bir SCC iki veya daha fazla geri kenara (back edge) sahipse bu her zaman doğru değildir. Örneğin, aşağıdaki grafikte B'den A'ya ve C'den B'ye iki geri kenar bulunmaktadır. A --> B --> C ^ | ^ | `----' `----' Eğer DFS şu yolu izlerse: A -> B -> C -> B (-> C -> B) -> A (-> B -> A), her bir index ve scc_index şu şekilde güncellenecektir: A --> B --> C C = (3, 3) (index, scc_index) B = (2, 2) A = (1, 1) A ... B ... C C = (3, 2)<-. ^ | B = (2, 2) -' `----' A = (1, 1) A ... B ... C C = (3, 2) ^ | . . B = (2, 1)<-. `----' .... A = (1, 1) -' Bu durumda unix_vertex_dead(), B'nin scc_index değeri 2 olan başka bir SCC'ye aktarıldığını düşünür ve SCC çöp toplama (garbage collection) işlemine tabi tutulmaz. DFS farklı bir sırada ilerlerse veya B'den başlarsa bu durum gerçekleşmez. 1 3 A --> B --> C ^ | ^ | `----' `----' 2 4 SCC sonlandırılırken, SCC genelinde scc_index değerlerini birleştirelim. v->index güncellemesinin önceden sadece tek bir döngüden tasarruf etmek için __unix_walk_scc() tarafından çağrıldığında unix_scc_dead() içinde yapıldığına dikkat edin. __unix_walk_scc() artık zaten SCC üzerinde yineleme yaptığı için, güncelleme tekrar __unix_walk_scc() fonksiyonuna taşınmış ve 'fast' argümanı kaldırılmıştır.
Nasıl düzeltilir
- Linux Linuxb8f71d69380a5fbc734c868acbeb560f1de1766f, be550ee108ad80828aa61280400bedfc7e7c39d3, 4a4263dfeabad72f95e8ab6e15146861fa4144dd, 6.2, 6.7 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 4090fa373f0e763c43610853d2774b5979915959 ≤ v < b8f71d69380a5fbc734c868acbeb560f1de1766f, 4090fa373f0e763c43610853d2774b5979915959 ≤ v < be550ee108ad80828aa61280400bedfc7e7c39d3, 4090fa373f0e763c43610853d2774b5979915959 ≤ v < 4a4263dfeabad72f95e8ab6e15146861fa4144dd, 5dfd283f4651d04dbb70ceb9ae5c4a30eda3c52a, de7921631ff323369aa63a4324695ab54ea4047e, 6.1.141 ≤ v < 6.2, 6.6.93 ≤ v < 6.7, 6.10 | b8f71d69380a5fbc734c868acbeb560f1de1766f, be550ee108ad80828aa61280400bedfc7e7c39d3, 4a4263dfeabad72f95e8ab6e15146861fa4144dd, 6.2, 6.7 |
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.