CVE-2022-50370
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: i2c: designware: Gerçek ancak beklenmedik cihaz kesmelerinin işlenmesi düzeltildi c7b79a752871 ("mfd: intel-lpss: Add Intel Alder Lake PCH-S PCI IDs") commit'i, belirli Gigabyte anakartlarda Intel Alder Lake-S için, sistemin S3 uyku durumundan ("deep") uyanması sırasında i2c_dw_xfer_msg() fonksiyonunda NULL pointer dereference nedeniyle sistem çökmelerine yol açan bir regresyona neden oldu. Sorun Gigabyte Z690 AORUS ELITE üzerinde hata ayıklama yoluyla analiz edilmiş ve şu notlar alınmıştır: - Sorun S3'ten uyanırken meydana gelmekte ancak "s2idle"dan uyanırken oluşmamaktadır. - Diğer tüm i2c_designware PCI cihazları D3 durumundayken, sistem pci_pm_resume_noirq() aşamasına girdiğinde PCI cihazı 00:15.0 == i2c_designware.0 zaten D0 durumundadır. Cihazlar askıya alma işlemine girmeden önce çalışma zamanında askıya alınmış ve D3 durumuna getirilmişti. - Kesme, pci_pm_resume_noirq() sonrasında cihaz kesmeleri yeniden etkinleştirildiğinde gelir. - Yazmaç dökümüne göre kesme gerçekten i2c_designware.0'dan gelmektedir. Denetleyici etkinken, I2C hedef adres yazmacı tespit edilebilir bir I2C cihaz adresi olan 0x60'a işaret etmektedir ve DW_IC_RAW_INTR_STAT yazmacındaki START_DET, STOP_DET, ACTIVITY ve TX_EMPTY bitleri tamamlanmış bir I2C işlemini belirterek set edilmiştir. Tahminim, donanım yazılımının (firmware), uyanma sırasında yerleşik bir I2C cihazıyla iletişim kurmak için bu denetleyiciyi kullandığı ancak kontrolü işletim sistemine vermeden önce denetleyiciyi devre dışı bırakmadığı yönündedir. UEFI güncellemesinin bunu düzelttiği belirtilmiş olsa da, bu durum sürücünün; cihazın boşta olması gerektiği ve durum değişkenlerinin ayarlanmadığı (özellikle NULL veya eski verilere işaret edebilecek dev->msgs işaretçisi) durumlarda TX_EMPTY (veya RX_FULL) kesmesini işlemeye hazır olmadığını ortaya çıkarmıştır. Denetleyicinin sürücü açısından ne zaman aktif olduğunu belirten yeni bir yazılımsal durum bayrağı olan STATUS_ACTIVE tanıtılmıştır. Artık bu bayrak set edilmediğinde meydana gelen tüm kesmeler beklenmedik olarak değerlendirilecek ve denetleyiciden gelen tüm kesmeler maskelenecektir.
Nasıl düzeltilir
- linux linux_kernel5.15.75, 5.19.17, 6.0.3 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.75, 5.16 ≤ v < 5.19.17, 6.0 ≤ v < 6.0.3 | 5.15.75, 5.19.17, 6.0.3 |
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.