CVE-2022-50675
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: arm64: mte: Herhangi bir etiket temizlenmediyse veya geri yüklenmediyse PG_mte_tagged ayarlanmasından kaçının 69e3b846d8a7 ("arm64: mte: Sync tags for pages where PTE is untagged") commit'inden önce, mte_sync_tags() yalnızca pte_tagged() girişleri (PROT_MTE ile eşlenenler) için çağrılıyordu. Bu nedenle mte_sync_tags(), etiketsiz bir sayfada yanlışlıkla PG_mte_tagged ayarı yapmadan test_and_set_bit(PG_mte_tagged, &page->flags) fonksiyonunu güvenle kullanabiliyordu. Yukarıdaki commit, konukların aşama 2 eşlemesinde herhangi bir kontrol olmadan veya VMM'de bir PROT_MTE eşlemesi olmaksızın MTE'yi etkinleştirebilmeleri nedeniyle gerekliydi. Ancak bunun yan etkisi olarak, PTE'si swap (veya migrasyon) gibi görünen herhangi bir sayfanın PG_mte_tagged bayrağı otomatik olarak ayarlanıyordu. Sonraki bir sayfa kopyalama işlemi (örneğin migrasyon), etiketler KASAN'a ait olsa bile bu etiketleri hedef sayfaya kopyalıyordu. Bu sorun, e5b8d9218951 ("arm64: mte: reset the page tag in page->flags") commit'i ile getirilen page_kasan_tag_reset() çağrısı tarafından maskelenmişti. Bu commit geri alındığında (20794545c146), bir sayfadaki geçersiz kılınan etiketlerin orijinal page->flags ile eşleşmemesi nedeniyle KASAN erişim hatalı raporlamaya başladı (CONFIG_KASAN_HW_TAGS=y ile): BUG: KASAN: invalid-access in copy_page+0x10/0xd0 arch/arm64/lib/copy_page.S:26 Read at addr f5ff000017f2e000 by task syz-executor.1/2218 Pointer tag: [f5], memory tag: [f2] PG_mte_tagged bit ayarını mte_sync_tags()'dan, etiketlerin gerçekten temizlendiği (mte_sync_page_tags()) veya geri yüklendiği (mte_restore_tags()) yere taşıyın.
Nasıl düzeltilir
- Linux Linux918002bdbe4328c8c0164a22e8ebf2384b80dc23, 749e9fc18b1e1a3f93a9512e91bd7f93002d2821, a8e5e5146ad08d794c58252bab00b261045ef16d ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| Linux Linux | 69e3b846d8a753f9f279f29531ca56b0f7563ad0 ≤ v < 918002bdbe4328c8c0164a22e8ebf2384b80dc23, 69e3b846d8a753f9f279f29531ca56b0f7563ad0 ≤ v < 749e9fc18b1e1a3f93a9512e91bd7f93002d2821, 69e3b846d8a753f9f279f29531ca56b0f7563ad0 ≤ v < a8e5e5146ad08d794c58252bab00b261045ef16d, 5.14 | 918002bdbe4328c8c0164a22e8ebf2384b80dc23, 749e9fc18b1e1a3f93a9512e91bd7f93002d2821, a8e5e5146ad08d794c58252bab00b261045ef16d |
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.