CVE-2022-48898
Açıklama
Linux çekirdeğinde aşağıdaki güvenlik açığı giderilmiştir: drm/msm/dp: irq aux aktarımı için değilse dp_aux_cmd_fifo_tx() işlemini tamamlamayın DP denetleyicisi tarafından yönetilen 3 olası kesme kaynağı vardır: HPDstatus, Denetleyici durum değişiklikleri ve Aux okuma/yazma işlemi. Her irq sırasında, DP denetleyicisinin her bir kesme kaynağının isr durumunu kontrol etmesi ve isr durum bitleri bekleyen kesmeler olduğunu gösteriyorsa kesmeye hizmet vermesi gerekir. Mevcut aux isr işleyici uygulamasında, irq aux okuma veya yazma işlemi için olmasa bile her zaman dp_aux_cmd_fifo_tx() işlemini tamamladığı için potansiyel bir yarış durumu (race condition) meydana gelebilir. Bu durum, irq gerçekleştiği sırada ana bilgisayarın aux veri okuması, alıcının verileri ana bilgisayara aktarmasını bekleme aşamasındaysa, aux okuma işleminin erken dönmesine neden olabilir. Bu da ana bilgisayarın alma tamponunun beklenmedik veriler içermesine yol açacaktır. Bu yama, aux isr'yi kontrol ederek ve herhangi bir isr durum biti ayarlanmamışsa aux isr işleyicide hemen geri dönerek bu sorunu düzeltmektedir. Şu anda sistem önyüklemesi sırasında meydana gelen eDP edid bozulmasına ilişkin bir hata raporu bulunmaktadır. Uzun süren hata ayıklamalar sonucunda, sistem önyüklemesi sırasında VIDEO_READY kesmesinin sürekli tetiklendiği ve bunun dp_aux_isr()'nin, henüz alıcıdan eksiksiz veri aktarımı içermeyen aux donanım tamponundan veri almak için dp_aux_cmd_fifo_tx()'yi zamansız olarak tamamlamasına neden olduğu tespit edilmiştir. Bu durum edid bozulmasına yol açmaktadır. Sorun oluştuğundaki çekirdek günlüklerindeki imzalar şöyledir: EDID has corrupt header panel-simple-dp-aux aux-aea0000.edp: Couldn't identify panel via EDID v2 değişiklikleri: -- dp-aux_isr() içinde (ret == IRQ_HANDLED) ise tamamla -- daha fazla commit metni ekle v3 değişiklikleri: -- Stephen'ın önerilerini ekle -- dp_aux_isr() çağırana IRQ_XXX döndürür -- dp_ctrl_isr() çağırana IRQ_XXX döndürür v4 değişiklikleri: -- iki yamaya bölündü v5 değişiklikleri: -- etiketler arasındaki boş satırı sil v6 değişiklikleri: -- fazlalık "that" ifadesini kaldır ve commit metninde 75 karakterden uzun olan satırları düzelt Patchwork: https://patchwork.freedesktop.org/patch/516121/
Nasıl düzeltilir
- linux linux_kernel5.10.164, 5.15.89, 6.1.7 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.10 ≤ v < 5.10.164, 5.11 ≤ v < 5.15.89, 5.16 ≤ v < 6.1.7, 6.2 | 5.10.164, 5.15.89, 6.1.7 |
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.