CVE-2026-64192
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: bpf: BPF LSM başlatılmamışsa BPF_MAP_TYPE_INODE_STORAGE oluşturulmasını reddet CONFIG_BPF_LSM=y olarak ayarlandığında, BPF inode depolama haritaları (BPF_MAP_TYPE_INODE_STORAGE) çekirdeğe derlenir. Ancak, BPF LSM önyükleme sırasında açıkça etkinleştirilmezse (ör. "lsm=" önyükleme parametresinden çıkarılmışsa), BPF LSM için lsm_prepare() hiçbir zaman çalıştırılmaz. Sonuç olarak, BPF inode güvenlik blob'u uzaklığı (bpf_lsm_blob_sizes.lbs_inode) hiçbir zaman başlatılmaz ve ayrılmış struct rcu_head yapısının ötesinde geçerli bir uzaklığa (tipik olarak 16 bayt veya daha fazla) güncellenmek yerine, derlenmiş varsayılan boyutu olan 8 baytta kalır. Ayrıcalıklı bir kullanıcı bir BPF_MAP_TYPE_INODE_STORAGE haritası oluşturup güncellediğinde, bpf_inode() inode->i_security + 8 ifadesini değerlendirir. Bu, inode->i_security blob'unun başlangıcındaki struct rcu_head.func geri çağırma işaretçisine hatalı şekilde takma ad verir. Sonraki harita öğesi temizliği veya inode yok edilmesi sırasında, owner_storage'a NULL yazılması kuyruğa alınmış RCU geri çağırma işaretçisini temizler. rcu_do_batch() daha sonra kuyruğa alınmış geri çağırmayı yürüttüğünde, 0x0 adresinde bir komut getirme girişiminde bulunarak anında bir çekirdek paniğini tetikler. Bunu düzeltmek için, __ro_after_init ile işaretlenmiş global bir bpf_lsm_initialized boolean bayrağı eklenir. Bu bayrak, LSM çerçevesi BPF LSM'yi başarıyla kaydettiğinde bpf_lsm_init() içinde true olarak ayarlanır. inode_storage_map_alloc() içindeki harita ayırma işlemi bu bayrağa bağlanır ve BPF LSM başlatılmamışsa -EOPNOTSUPP döndürülür. Bu hızlı başarısız olma yaklaşımı, destekleyici BPF LSM altyapısı yokken kullanıcı alanının inode depolama haritaları ayırmasını önleyerek zombi harita durumlarını engeller.
Nasıl düzeltilir
- linux linux_kernel6.6.148, 6.12.97, 6.18.40, 7.1.4 ya da sonraki bir sürüm
- git.kernel.org/stable/c/267fdd9b6530c399dfd996e1a0a7628b45baf9f0
- git.kernel.org/stable/c/5337eebdf8c5d4810b1913047f078d2815d5645f
- git.kernel.org/stable/c/a6f0643e4f63cfaa0d5d4a69de4f132eac4b8fe4
- git.kernel.org/stable/c/c76b8abce575e0c6e4096957220b4515ed847d89
- git.kernel.org/stable/c/de984ea883405420fdc416ae8964b752df586970
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.10 ≤ v < 6.6.148, 6.7 ≤ v < 6.12.97, 6.13 ≤ v < 6.18.40, 6.19 ≤ v < 7.1.4, 7.2 | 6.6.148, 6.12.97, 6.18.40, 7.1.4 |
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.