CVE-2022-48818 in Linux
Sumário
de VulDB • 29/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
net: dsa: mv88e6xxx: não use devres para mdiobus
Conforme explicado nos commits: 74b6d7d13307 ("net: dsa: realtek: register the MDIO bus under devres") 5135e96a3dd2 ("net: dsa: don't allocate the slave_mii_bus using devres")
mdiobus_free() causará um panic quando chamado de devm_mdiobus_free() <- devres_release_all() <- __device_release_driver(), e esse mdiobus não foi previamente desregistrado.
O mv88e6xxx é um dispositivo MDIO, portanto, o conjunto inicial de restrições que eu pensava que causaria isso (barramentos I2C ou SPI que chamam ->remove em ->shutdown) não se aplica. Mas há mais uma restrição que se aplica aqui.
Se o mestre DSA estiver em um barramento que chama ->remove de ->shutdown (como dpaa2-eth, que está no barramento fsl-mc), há um link de dispositivo entre o switch e o mestre DSA, e device_links_unbind_consumers() desvinculará o driver do switch Marvell no shutdown.
systemd-shutdown[1]: Powering off.
mv88e6085 0x0000000008b96000:00 sw_gl0: Link is Down fsl-mc dpbp.9: Removing from iommu group 7 fsl-mc dpbp.8: Removing from iommu group 7 ------------[ cut here ]------------
kernel BUG at drivers/net/phy/mdio_bus.c:677! Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
Modules linked in: CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 5.16.5-00040-gdc05f73788e5 #15 pc : mdiobus_free+0x44/0x50 lr : devm_mdiobus_free+0x10/0x20 Call trace: mdiobus_free+0x44/0x50 devm_mdiobus_free+0x10/0x20 devres_release_all+0xa0/0x100 __device_release_driver+0x190/0x220 device_release_driver_internal+0xac/0xb0 device_links_unbind_consumers+0xd4/0x100 __device_release_driver+0x4c/0x220 device_release_driver+0x28/0x40 bus_remove_device+0x118/0x124 device_del+0x174/0x420 fsl_mc_bus_remove+0x80/0x100
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.