CVE-2026-72043
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: LoongArch: {pte,pmd}_wrprotect() içinde eksik kirli sayfa izleme düzeltildi LoongArch üzerinde donanım sayfa tablosu yürüyücüsü (PTW) etkinleştirildiğinde, CPU bir yazma TLB isabetsizliği sırasında yazılım TLB saklama işleyicisinden geçmeden sayfa tablosu girdisinde doğrudan _PAGE_DIRTY bitini ayarlayabilir. Yazılım TLB saklama işleyicisi (tlbex.S:254) hem _PAGE_DIRTY hem de _PAGE_MODIFIED bitlerini birlikte ayarlar: ori t0, t0, (_PAGE_VALID | _PAGE_DIRTY | _PAGE_MODIFIED) Donanım PTW yalnızca _PAGE_DIRTY bitini ayarladığından, yalnızca yazılıma özgü bit olan _PAGE_MODIFIED değişmeden kalır. Bu, bir PTE'de _PAGE_DIRTY bitinin ayarlı olduğu (donanım sayfanın kirli olduğunu bilir) ancak _PAGE_MODIFIED bitinin temiz olduğu (yazılım haberdar değildir) bir aralık oluşturur. fork()/clone() yazma üzerine kopyalama işlemini tetiklediğinde, __copy_present_ptes() pte_wrprotect() işlevini çağırır ve bu işlev hem _PAGE_WRITE hem de _PAGE_DIRTY bitlerini koşulsuz olarak temizler: pte_val(pte) &= ~(_PAGE_WRITE | _PAGE_DIRTY); _PAGE_MODIFIED hiçbir zaman ayarlanmadığından, kirlilik bilgisi tamamen kaybolur. Ardından bellek baskısı sayfa geri kazanımını tetiklediğinde, page_mkclean() / try_to_unmap() sayfayı temiz olarak görür (yani pte_dirty() false döndürür) ve sayfa geri yazılmadan serbest bırakılabilir, bu da veri bozulmasına neden olur. Bu sorunu, yazılabilir bitleri temizlemeden önce hem pte_wrprotect() hem de pmd_wrprotect() içinde _PAGE_DIRTY bitini _PAGE_MODIFIED bitine yayarak düzeltin: if (pte_val(pte) & _PAGE_DIRTY) pte_val(pte) |= _PAGE_MODIFIED; pmd_wrprotect() düzeltmesi, pmd girdilerinin aynı işleme ihtiyaç duyduğu CONFIG_TRANSPARENT_HUGEPAGE durumunu ele alır. Bu, yazılım kirlilik izleme bitinin (hem _PAGE_DIRTY hem de _PAGE_MODIFIED bitlerini okuyan pte_dirty() ve pmd_dirty() tarafından denetlenir) fork COW yazma koruması boyunca korunmasını sağlar. Sorun, özel anonim eşlemeler üzerinde "madvise(MADV_FREE), yazma ve fork" işlem dizisinin ardından sayfa geri kazanımını uygulayan LTP madvise09 test durumu tarafından bulunmuştur.
Nasıl düzeltilir
- Linux Linux76f88650763a35cbf1384c65d66d096fa31cc58d, e8a916579e427af32f2de8213dfa23c5df6e6664, 39bb21a4bff0d70058bf752d7b5aa2e2ccc864a9, a65f49b6f7ece756394f8f0e85570020e7fd0e35, e483da960892c41fa7f0cf0d2fc2410d65a483d6, 018e9828eb523c638fa3d9bdf0fd4956b74555b2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < 76f88650763a35cbf1384c65d66d096fa31cc58d, 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < e8a916579e427af32f2de8213dfa23c5df6e6664, 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < 39bb21a4bff0d70058bf752d7b5aa2e2ccc864a9, 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < a65f49b6f7ece756394f8f0e85570020e7fd0e35, 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < e483da960892c41fa7f0cf0d2fc2410d65a483d6, 09cfefb7fa70c3af011b0db0a513fd80b2f18abc ≤ v < 018e9828eb523c638fa3d9bdf0fd4956b74555b2, 5.19 | 76f88650763a35cbf1384c65d66d096fa31cc58d, e8a916579e427af32f2de8213dfa23c5df6e6664, 39bb21a4bff0d70058bf752d7b5aa2e2ccc864a9, a65f49b6f7ece756394f8f0e85570020e7fd0e35, e483da960892c41fa7f0cf0d2fc2410d65a483d6, 018e9828eb523c638fa3d9bdf0fd4956b74555b2 |
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.