CVE-2026-98982
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: namespace: bir pseudo dentry'nin bir bağlama noktasının (mount) kökü olmasına izin vermeyin d_alloc_pseudo(), borular (pipes), soketler ve asla kimsenin çocuğu veya ebeveyni olmayan diğer dosyalar için dentry'ler sağlar. Bunlar DCACHE_NORCU taşır ve hiçbir kilitsiz yol yürütme işlemi onlara ulaşamayacağı için dentry_free() bunları hemen serbest bırakır. Bu durum, söz konusu dentry bir bağlama noktasının kökü olmadığı sürece geçerlidir. Ancak böyle bir dosyanın /proc/self/fd/<fd> dizininin bind mount edilmesi tam olarak bunu yapar. alloc_file_pseudo() fonksiyonunu çağıranların çoğu, dosyalarını çekirdek içi (kernel-internal) bağlama noktalarına yerleştirir ve may_copy_tree() bunları reddeder. bpf_token_create() ise reddetmez. Token dosyasını, çağırıcının kendisine ilettiği bpffs bağlama noktasına yerleştirir ve bu bağlama noktası çağırıcının mount namespace'inde olduğu için klonlama işlemi gerçekleşir: mount --bind /proc/self/fd/<token> <file> open_tree(tokfd, "", AT_EMPTY_PATH | OPEN_TREE_CLONE) + move_mount() Ardından __follow_mount_rcu(), o bağlama noktasının ->mnt_root değerini yükler, dentry'nin d_seq ve d_flags değerlerini okur ve ancak ondan sonra mount_lock kontrolünü yapar. O ana kadar dentry silinmiş olabilir. Bağlantısı kesilmiş bir ebeveynin son mntput() işlemi, yalnızca mount_lock altında ona bağlı kalmış bir çocuğu ayırır. Çocuğun tutucusu hemen ardından son put işlemini yaptığında, kök dput() edilir ve hemen serbest bırakılır; bu sırada bağlama noktasını hashlenmiş olarak bulan bir yürütücü hala ona bakmaktadır. Kökü DCACHE_NORCU olan bir dentry içeren bağlama noktasının klonlanmasını reddedin. Zaten bir bpf token'ının bind mount işlemiyle yapılabilecek mantıklı bir işlem yoktur.
Nasıl düzeltilir
- Linux Linuxa256e31e0c54c4c37d2523aa52faabdcdd2ebc07, 7e1c466011ba9e64d43075396badc03191bcee44, 00287afa7cd989efdbf5822b7efac33cce7d489a, b138e16fb1e81376cea89f727dda7bfccd140de4 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 35f96de04127d332a5c5e8a155d31f452f88c76d ≤ v < a256e31e0c54c4c37d2523aa52faabdcdd2ebc07, 35f96de04127d332a5c5e8a155d31f452f88c76d ≤ v < 7e1c466011ba9e64d43075396badc03191bcee44, 35f96de04127d332a5c5e8a155d31f452f88c76d ≤ v < 00287afa7cd989efdbf5822b7efac33cce7d489a, 35f96de04127d332a5c5e8a155d31f452f88c76d ≤ v < b138e16fb1e81376cea89f727dda7bfccd140de4, 6.9 | a256e31e0c54c4c37d2523aa52faabdcdd2ebc07, 7e1c466011ba9e64d43075396badc03191bcee44, 00287afa7cd989efdbf5822b7efac33cce7d489a, b138e16fb1e81376cea89f727dda7bfccd140de4 |
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.