CVE-2022-49926 in Linuxinformazioni

Riassunto

di VulDB • 29/06/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

net: dsa: Correzione di possibili memory leak in dsa_loop_init()

kmemleak ha segnalato memory leak in dsa_loop_init():

kmemleak: 12 nuovi presunti memory leak

oggetto non referenziato 0xffff8880138ce000 (dimensione 2048): comm "modprobe", pid 390, jiffies 4295040478 (età 238.976s) backtrace: [] kmalloc_trace+0x26/0x60
[] phy_device_create+0x5d/0x970
[] get_phy_device+0xf3/0x2b0
[] __fixed_phy_register.part.0+0x92/0x4e0
[] fixed_phy_register+0x84/0xb0
[] dsa_loop_init+0xa9/0x116 [dsa_loop]
...

Ci sono due motivi per il memleak in dsa_loop_init().

Innanzitutto, fixed_phy_register() crea e registra phy_device:

fixed_phy_register() get_phy_device() phy_device_create() # liberato da phy_device_free() phy_device_register() # liberato da phy_device_remove()

Tuttavia, fixed_phy_unregister() chiama solo phy_device_remove(). Di conseguenza, la memoria allocata in phy_device_create() viene persa (leaked).

In secondo luogo, quando mdio_driver_register() fallisce in dsa_loop_init(), viene semplicemente restituito il controllo senza alcuna pulizia per i phydevs.

Si risolvono i problemi intercettando l'errore di mdio_driver_register() in dsa_loop_init(), quindi chiamando sia fixed_phy_unregister() che phy_device_free() per rilasciare i phydevs. Viene inoltre aggiunta una funzione per la pulizia dei phydevs al fine di evitare duplicazioni.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsabile

Linux

Prenotare

01/05/2025

Divulgazione

01/05/2025

Moderazione

accettato

CPE

pronto

EPSS

0.00155

KEV

no

Attività

molto basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!