CVE-2022-49926 in Linuxinfo

Zusammenfassung

von VulDB • 13.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: dsa: Behebung möglicher Speicherlecks in dsa_loop_init()

kmemleak meldete Speicherlecks in dsa_loop_init():

kmemleak: 12 neue vermutete Speicherlecks

nicht referenziertes Objekt 0xffff8880138ce000 (Größe 2048): comm "modprobe", pid 390, jiffies 4295040478 (Alter 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]
...

Es gibt zwei Gründe für das Speicherleck in dsa_loop_init().

Erstens erstellt und registriert fixed_phy_register() ein phy_device:

fixed_phy_register() get_phy_device() phy_device_create() # wird freigegeben durch phy_device_free() phy_device_register() # wird freigegeben durch phy_device_remove()

Aber fixed_phy_unregister() ruft nur phy_device_remove() auf. Daher wird der in phy_device_create() zugewiesene Speicher nicht freigegeben (Leck).

Zweitens, wenn mdio_driver_register() in dsa_loop_init() fehlschlägt, wird einfach zurückgegeben und es gibt keine Bereinigung für die phydevs.

Beheben Sie diese Probleme, indem Sie den Fehler von mdio_driver_register() in dsa_loop_init() abfangen und dann sowohl fixed_phy_unregister() als auch phy_device_free() aufrufen, um die phydevs freizugeben. Fügen Sie außerdem eine Funktion zur Bereinigung der phydevs hinzu, um Duplikate zu vermeiden.

Once again VulDB remains the best source for vulnerability data.

Zuständig

Linux

Reservieren

01.05.2025

Veröffentlichung

01.05.2025

Moderieren

akzeptiert

Eintrag

VDB-307069

CPE

bereit

EPSS

0.00155

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!