CVE-2024-40975
Açıklama
Linux kernel'de aşağıdaki güvenlik açığı giderilmiştir: platform/x86: x86-android-tablets: Aygıtların ters sırada kaydının silinmesi Tüm alt sistemler, aygıta referansı olan tüketiciler hala mevcutken bir aygıtın kaldırılmasını desteklemez. Buna bir örnek regulator alt sistemidir. Eğer bir regulator, referans tutan sürücüler varken kaydı silinirse, örneğin drivers/regulator/core.c:5829 konumunda bir WARN() tetiklenir: WARNING: CPU: 1 PID: 1587 at drivers/regulator/core.c:5829 regulator_unregister Hardware name: Intel Corp. VALLEYVIEW C0 PLATFORM/BYT-T FFD8, BIOS BLADE_21.X64.0005.R00.1504101516 FFD8_X64_R_2015_04_10_1516 04/10/2015 RIP: 0010:regulator_unregister Call Trace: <TASK> regulator_unregister devres_release_group i2c_device_remove device_release_driver_internal bus_remove_device device_del device_unregister x86_android_tablet_remove Lenovo Yoga Tablet 2 serisinde bq24190 şarj çipi, mikro USB portuna bağlı USB aygıtlarına güç sağlamak için 5V boost dönüştürücü çıkışı da sağlar; bq24190-charger sürücüsü bunu bir Vbus regulator olarak dışa aktarır. 830 (8") ve 1050 (10") modellerinde bu regulator bir platform_device tarafından kontrol edilir ve x86_android_tablet_remove(), platform_device'ları i2c_clients'lardan önce kaldırdığından tüketici önce kaldırılmış olur. Ancak 1380 (13") modelinde, I2C üzerinden bağlı bir lc824206xa mikro-USB anahtarı vardır ve bunun için kullanılan extcon sürücüsü regulator'ı kontrol eder. bq24190 i2c-client öncelikle kaydedilmelidir çünkü bu işlem, lc824206xa'yı tüketici olarak listeleyen regulator'ı oluşturur. Regulator henüz kaydedilmemişse, lc824206xa sürücüsü sonuç olarak sahte (dummy) bir regulator alır. Bu durumda hem regulator sağlayıcısı hem de tüketici I2C aygıtları olduğundan, tüketicinin önce kaydının silindiğinden emin olmanın tek yolu, I2C aygıtlarının oluşturulma sıralarının tersine göre kayıtlarını silmektir. Tutarlılık sağlamak ve gelecekte benzer sorunları önlemek amacıyla, tüm aygıt türlerinin ters sırada kaydını silmek için x86_android_tablet_remove() fonksiyonu değiştirilmiştir.
Nasıl düzeltilir
- linux linux_kernel6.6.64, 6.9.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.17 ≤ v < 6.6.64, 6.7 ≤ v < 6.9.7 | 6.6.64, 6.9.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.