CVE-2025-37786 in Linuxinfo

Zusammenfassung

von VulDB • 21.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: dsa: Freigabe der Routing-Tabelle bei einem Fehler während des Probing (Probe-Failure)

Wenn `complete = true` in `dsa_tree_setup()` ist, bedeutet dies, dass wir der letzte Switch im Baum sind, dessen Probing erfolgreich war, und wir sollten alle Switches entlang unseres Probe-Pfads einrichten.

Nachdem „complete“ den Wert wahr angenommen hat, kann `dsa_tree_setup_cpu_ports()` oder eine beliebige nachfolgende Funktion fehlschlagen. Tritt dies auf, befindet sich die gesamte Baum-Einrichtung in einem Schwebezustand: Die ersten N-1 Switches haben das Probing erfolgreich abgeschlossen (sie haben nichts weiter getan, als persistenten Speicher im `dst->ports` des Baums und möglicherweise auch in `dst->rtable` allokiert), während der Switch N beim Probing fehlschlug. Dadurch wird der Baum-Einrichtungsprozess beendet, bevor aus Sicht des Nutzers etwas Greifbares entsteht.

Wenn das Probing von Switch N fehlschlägt, werden dessen Speicher (Ports) freigegeben und aus `dst->ports` entfernt. Die Elemente in `dst->rtable`, die auf diese Ports verweisen und durch `dsa_link_touch()` erstellt wurden, bleiben jedoch bestehen und führen zu einem Use-After-Free-Fehler bei Dereferenzierung.

Wenn `dsa_tree_setup_switches()` den Rückgabewert `-EPROBE_DEFER` liefert – was durchaus möglich ist, da sich dort der Aufruf von `ds->ops->setup()` befindet –, erhalten wir einen KASAN-Bericht wie diesen:

================================================================== BUG: KASAN: slab-use-after-free in mv88e6xxx_setup_upstream_port+0x240/0x568 Read of size 8 at addr ffff000004f56020 by task kworker/u8:3/42

Call trace: __asan_report_load8_noabort+0x20/0x30 mv88e6xxx_setup_upstream_port+0x240/0x568 mv88e6xxx_setup+0xebc/0x1eb0 dsa_register_switch+0x1af4/0x2ae0 mv88e6xxx_register_switch+0x1b8/0x2a8 mv88e6xxx_probe+0xc4c/0xf60 mdio_probe+0x78/0xb8 really_probe+0x2b8/0x5a8 __driver_probe_device+0x164/0x298 driver_probe_device+0x78/0x258 __device_attach_driver+0x274/0x350

Allocated by task 42: __kasan_kmalloc+0x84/0xa0

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

16.04.2025

Veröffentlichung

01.05.2025

Moderieren

akzeptiert

Eintrag

VDB-306829

CPE

bereit

EPSS

0.00160

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!