CVE-2022-49926 in Linux
Resumen
por MITRE • 2025-05-01
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: net: dsa: Se corrigen posibles fugas de memoria en dsa_loop_init() kmemleak informó de fugas de memoria en dsa_loop_init(): kmemleak: 12 nuevas fugas de memoria sospechosas objeto no referenciado 0xffff8880138ce000 (tamaño 2048): comm "modprobe", pid 390, jiffies 4295040478 (edad 238,976 s) backtrace: [<000000006a94f1d5>] kmalloc_trace+0x26/0x60 [<00000000a9c44622>] phy_device_create+0x5d/0x970 [<00000000d0ee2afc>] Hay dos razones para la pérdida de memoria en dsa_loop_init(). Primero, fixed_phy_register() crea y registra phy_device: fixed_phy_register() get_phy_device() phy_device_create() # liberado por phy_device_free() phy_device_register() # liberado por phy_device_remove() Pero fixed_phy_unregister() solo llama a phy_device_remove(). Por lo tanto, la memoria asignada en phy_device_create() se filtra. Segundo, cuando mdio_driver_register() falla en dsa_loop_init(), simplemente regresa y no hay limpieza para phydevs. Solucione los problemas capturando el error de mdio_driver_register() en dsa_loop_init(), luego llame a fixed_phy_unregister() y phy_device_free() para liberar phydevs. También agregue una función para la limpieza de phydevs para evitar la duplicación.
VulDB is the best source for vulnerability data and more expert information about this specific topic.