Vulnerabilidad en kernel de Linux (CVE-2022-48817)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
16/07/2024
Última modificación:
06/10/2025
Descripción
En el kernel de Linux se ha resuelto la siguiente vulnerabilidad: net: dsa: ar9331: registrar el mdiobus en devres Como se explica en commits: 74b6d7d13307 ("net: dsa: realtek: registrar el bus MDIO en devres") 5135e96a3dd2 ("net: dsa: no asigne el Slave_mii_bus usando devres") mdiobus_free() entrará en pánico cuando se llame desde devm_mdiobus_free() <- devres_release_all() <- __device_release_driver(), y ese mdiobus no fue anulado previamente. El ar9331 es un dispositivo MDIO, por lo que el conjunto inicial de restricciones que pensé que causarían esto (buses I2C o SPI que llaman ->eliminar en ->apagar) no se aplican. Pero hay algo más que se aplica aquí. Si el maestro DSA está en un bus que llama ->remove from ->shutdown (como dpaa2-eth, que está en el bus fsl-mc), hay un enlace de dispositivo entre el conmutador y el maestro DSA, y device_links_unbind_consumers( ) desvinculará el controlador del interruptor ar9331 al apagar. Por lo tanto, se debe aplicar el mismo tratamiento a todos los controladores de conmutador DSA, que es: usar devres tanto para la asignación como para el registro de mdiobus, o no usar devres en absoluto. El controlador ar9331 no tiene una estructura de código compleja para la eliminación de mdiobus, así que simplemente reemplace of_mdiobus_register con la variante devres para que sea todo devres y garantizar que no liberemos un bus aún registrado.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.9 (incluyendo) | 5.10.101 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.24 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 5.16.10 (excluyendo) |
| cpe:2.3:o:linux:linux_kernel:5.17:rc1:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:* | ||
| cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/475ce5dcf2d88fd4f3c213a0ac944e3e40702970
- https://git.kernel.org/stable/c/50facd86e9fbc4b93fe02e5fe05776047f45dbfb
- https://git.kernel.org/stable/c/aae1c6a1d3d696fc33b609fb12fe744a556d1dc5
- https://git.kernel.org/stable/c/f1842a8cb71de4d7eb75a86f76e88c7ee739218c
- https://git.kernel.org/stable/c/475ce5dcf2d88fd4f3c213a0ac944e3e40702970
- https://git.kernel.org/stable/c/50facd86e9fbc4b93fe02e5fe05776047f45dbfb
- https://git.kernel.org/stable/c/aae1c6a1d3d696fc33b609fb12fe744a556d1dc5
- https://git.kernel.org/stable/c/f1842a8cb71de4d7eb75a86f76e88c7ee739218c



