CVE-2024-57878
Açıklama
Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: arm64: ptrace: NT_ARM_FPMR için kısmi SETREGSET düzeltmesi Şu anda fpmr_set(), geçici 'fpmr' değişkenini başlatmamaktadır ve sıfır uzunluğundaki bir SETREGSET çağrısı bu değişkenin başlatılmamış kalmasına neden olmaktadır. Sonuç olarak, target->thread.uw.fpmr adresine rastgele bir değer yazılacak ve potansiyel olarak kernel yığınından (stack) 64 bite kadar bellek sızıntısına yol açacaktır. Okuma işlemi yığındaki belirli bir yuva ile sınırlıdır ve sorun herhangi bir yazma mekanizması sağlamamaktadır. Diğer regset'lerde olduğu gibi (örneğin NT_PRSTATUS, NT_PRFPREG, NT_ARM_SYSTEM_CALL), regset kullanıcı alanından kopyalanmadan önce geçici değerin başlatılmasıyla bu durum düzeltilmiştir. Sıfır uzunluklu bir yazma durumunda, FPMR'nin mevcut içeriği korunacaktır. Bu yamadan önce: | # ./fpmr-test | Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) wrote 8 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Attempting to write NT_ARM_FPMR (zero length) | SETREGSET(nt=0x40e, len=0) wrote 0 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0xffff800083963d50 Bu yamadan sonra: | # ./fpmr-test | Attempting to write NT_ARM_FPMR::fpmr = 0x900d900d900d900d | SETREGSET(nt=0x40e, len=8) wrote 8 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d | | Attempting to write NT_ARM_FPMR (zero length) | SETREGSET(nt=0x40e, len=0) wrote 0 bytes | | Attempting to read NT_ARM_FPMR::fpmr | GETREGSET(nt=0x40e, len=8) read 8 bytes | Read NT_ARM_FPMR::fpmr = 0x900d900d900d900d
Nasıl düzeltilir
- linux linux_kernel6.12.5 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 | 6.9 ≤ v < 6.12.5, 6.13 | 6.12.5 |
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.