CVE-2022-48814

Orta

Açıklama

Linux kernel içerisinde aşağıdaki güvenlik açığı giderilmiştir: net: dsa: seville: mdiobus'ı devres altında kaydet Şu commitlerde açıklandığı üzere: 74b6d7d13307 ("net: dsa: realtek: register the MDIO bus under devres") 5135e96a3dd2 ("net: dsa: don't allocate the slave_mii_bus using devres") mdiobus_free() fonksiyonu; devm_mdiobus_free() <- devres_release_all() <- __device_release_driver() üzerinden çağrıldığında ve söz konusu mdiobus daha önce kaydı silinmemişse panik durumuna yol açacaktır. Seville VSC9959 anahtarı bir platform aygıtıdır, bu nedenle bunun neden olacağını düşündüğüm başlangıç kısıtlamaları (->shutdown sırasında ->remove çağıran I2C veya SPI veri yolları) burada geçerli değildir. Ancak burada geçerli olan başka bir durum mevcuttur. Eğer DSA master'ın kendisi, ->shutdown işleminden ->remove işlemini çağıran bir veri yolu üzerindeyse (fsl-mc veri yolu üzerinde olan dpaa2-eth gibi), anahtar ile DSA master arasında bir aygıt bağlantısı bulunur ve device_links_unbind_consumers() kapatma sırasında seville anahtar sürücüsünün bağlantısını kesecektir. Bu nedenle tüm DSA anahtar sürücülerine aynı yaklaşım uygulanmalıdır: ya hem mdiobus tahsisi hem de kaydı için devres kullanılmalı ya da hiç devres kullanılmamalıdır. seville sürücüsü, hem mdiobus_unregister hem de mdiobus_free çağrılarını karşılayabilecek bir kod yapısına sahiptir ancak mdio-mscc-miim.c dosyasındaki ve kendi adına devm_mdiobus_alloc_size() fonksiyonunu çağıran mscc_miim_setup() fonksiyonuna harici bir bağımlılığı vardır. Bu yapıyı yeniden düzenlemek ve bir sembol daha (mscc_miim_teardown()) dışa aktarmak yerine, devres ile çalışalım ve of_mdiobus_register fonksiyonunu devres varyantıyla değiştirelim. Tamamen devres kullandığımızda, devres'in hala kayıtlı olan bir veri yolunu serbest bırakmadığından emin olabiliriz (ya her iki geri çağırma işlemini yürütür ya da hiçbirini yürütmez).

ÖnemOrta
CVSS5.5
İstismar olasılığı—
ÜrünLinux Kernel
Yayın16 Tem 2024
İlk görülme16 Tem 2024

Nasıl düzeltilir

Güncelleyin
  • linux linux_kernel5.15.27, 5.16.10 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
linux linux_kernel5.9 ≤ v < 5.15.27, 5.16 ≤ v < 5.16.10, 5.175.15.27, 5.16.10

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.

Intelligence 360 paketinde

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.

CVE-2022-48814 · Linux Kernel · Dark Radar