CVE-2026-99016
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: riscv: futex: atomik erişimden önce kullanıcı işaretçisinin etiketini kaldırın access_ok(), untagged_addr(uaddr) kontrolünü yapar ancak arch_futex_atomic_op_inuser() ve futex_atomic_cmpxchg_inatomic(), ham uaddr değerini "+m" (*uaddr) operandı aracılığıyla satır içi asm amoswap/amoadd/.../lr.w+sc.w fonksiyonlarına iletir. Etiketli adres ABI etkinleştirildiğinde (CONFIG_RISCV_ISA_SUPM, PMLEN != 0 olan prctl PR_SET_TAGGED_ADDR_CTRL), bu iki adres birbirinden farklıdır: üst PMLEN bitleri bir etiket içeren kullanıcı işaretçisi, etiketi kaldırıldıktan sonra access_ok() kontrolünden geçer, ancak atomik işlem hala etiketli olan ham adres üzerinde gerçekleştirilir. Supervisor-mod veri erişimleri, U-mod işaretçi maskelemesine (menvcfg.PMM tarafından yönetilen ve çekirdek tarafından ayarlanmayan) tabi değildir, bu nedenle donanım çekirdeğin kendi erişimi için etiketi kaldırmaz. Sv57 ve PMLEN=16 ile etiket bitleri kanonik adres bitleriyle örtüşür, böylece etiketli bir işaretçi, etiketsiz formu geçerli bir kullanıcı adresi olan kanonik bir çekirdek sanal adresini (örneğin doğrusal eşlemede) belirtebilir. Bu sayede ayrıcalıksız bir süreç, FUTEX_WAKE_OP'un rastgele bir çekirdek adresi üzerinde atomik oku-değiştir-yaz işlemi gerçekleştirmesini sağlayabilir ve buna karşılık gelen FUTEX_OP_CMP_* sonucu bir okuma orakeli görevi görür. get_user()/put_user()/raw_copy_{to,from}_user() fonksiyonları zaten access_ok() kontrolünden sonra işaretçinin etiketini kaldırmaktadır; atomik işlemin gerçekten doğrulanmış adres üzerinde çalışması için aynı işlem futex yardımcı fonksiyonlarında da uygulanmıştır.
Nasıl düzeltilir
- Linux Linux2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d, 8e48d8d51ab37b7decfbff3e2844e027a52ad6ea, 405290be962b32eec842776fbe3bdf81f15b1676 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 2e1743085887ba3f553c2bb472a75a3ff744b242 ≤ v < 2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d, 2e1743085887ba3f553c2bb472a75a3ff744b242 ≤ v < 8e48d8d51ab37b7decfbff3e2844e027a52ad6ea, 2e1743085887ba3f553c2bb472a75a3ff744b242 ≤ v < 405290be962b32eec842776fbe3bdf81f15b1676, 6.13 | 2e5c80bbc062a8dda33e687ebf7be8f074ee4f7d, 8e48d8d51ab37b7decfbff3e2844e027a52ad6ea, 405290be962b32eec842776fbe3bdf81f15b1676 |
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.