CVE-2021-47607
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: bpf: atomic cmpxchg'nin r0 yardımcı kaydındaki çekirdek adresi sızıntısı düzeltildi BPF_CMPXCHG uygulaması üst düzeyde şu parametrelere sahiptir: .-[old-val] .-[new-val] BPF_R0 = cmpxchg{32,64}(DST_REG + insn->off, BPF_R0, SRC_REG) `-[mem-loc] `-[old-val] Bir BPF talimatı yalnızca iki kaydediciye (dst, src) sahip olabildiği için, R0 sabittir ve hem giriş (eski değer) hem de çıkış (bellek konumundan eski değeri döndürme) için bir yardımcı kaydedici olarak kullanılır. Doğrulayıcı (verifier) bir dizi güvenlik kontrolü gerçekleştirirken, R0'ın eski değer olarak bir işaretçi içerdiği ayrıcalıksız programları reddetmeyi atlamaktadır. Kaba kuvvet yöntemiyle, BPF_CMPXCHG ile bir çekirdek işaretçisini sızdırmak benim makinemde yaklaşık 16 saniye sürmektedir. PoC temel olarak tahmin edilen adresi harita yuvasına skaler olarak saklayarak ve eşleşen bir adresi tespit etmek için SRC_REG bir kanarya değeri tutarken harita değer işaretçisini R0 olarak kullanarak çekirdek adreslerini araştırmaktadır. Bu durum, R0'ın işaretçiler açısından kontrol edilmesi ve ayrıcalıksız programlar için bu durumun geçerli olması halinde reddedilmesiyle düzeltilmiştir.
Nasıl düzeltilir
- linux linux_kernel5.15.11 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| linux linux_kernel | 5.12 ≤ v < 5.15.11, 5.16 | 5.15.11 |
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.