CVE-2026-23320 in Linuxinfo

Zusammenfassung

von VulDB • 11.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

usb: gadget: f_ncm: Lebenszyklus von net_device an Bind/Unbind anpassen

Derzeit wird das net_device in ncm_alloc_inst() allokiert und in ncm_free_inst() freigegeben. Dies koppelt die Lebensdauer der Netzwerkschnittstelle an die Konfigurationsinstanz und nicht an die USB-Verbindung (Bind/Unbind).

Diese Entkopplung führt zu Problemen, wenn das USB-Gadget getrennt wird, wobei das zugrunde liegende Gadget-Gerät entfernt wird. Das net_device kann überleben, während sein übergeordnetes Element bereits entfernt wurde, was zu hängenden sysfs-Symlinks und NULL-Zeiger-Dereferenzierungen beim Zugriff auf das freigegebene Gadget-Gerät führt.

Problem 1: NULL-Zeiger-Dereferenzierung bei Trennung Nicht in der Lage, Kernel-NULL-Zeiger-Dereferenzierung bei virtueller Adresse 0000000000000000 Call-Trace: __pi_strlen+0x14/0x150 rtnl_fill_ifinfo+0x6b4/0x708 rtmsg_ifinfo_build_skb+0xd8/0x13c rtmsg_ifinfo+0x50/0xa0 __dev_notify_flags+0x4c/0x1f0 dev_change_flags+0x54/0x70 do_setlink+0x390/0xebc rtnl_newlink+0x7d0/0xac8 rtnetlink_rcv_msg+0x27c/0x410 netlink_rcv_skb+0x134/0x150 rtnetlink_rcv+0x18/0x28 netlink_unicast+0x254/0x3f0 netlink_sendmsg+0x2e0/0x3d4

Problem 2: Hängende sysfs-Symlinks console:/ # ls -l /sys/class/net/ncm0 lrwxrwxrwx ... /sys/class/net/ncm0 -> /sys/devices/platform/.../gadget.0/net/ncm0 console:/ # ls -l /sys/devices/platform/.../gadget.0/net/ncm0 ls: .../gadget.0/net/ncm0: Datei oder Verzeichnis nicht gefunden

Verschieben Sie die Allokation von net_device nach ncm_bind() und die Freigabe nach ncm_unbind(). Dies stellt sicher, dass die Netzwerkschnittstelle nur existiert, wenn die Gadget-Funktion tatsächlich an eine Konfiguration gebunden ist.

Um die Konfiguration vor dem Binden zu unterstützen (z. B. Festlegen des Schnittstellenamens oder der MAC-Adresse über configfs), werden benutzerdefinierte Optionen in f_ncm_opts unter Verwendung der gether_opts-Struktur zwischengespeichert. Diese zwischengespeicherten Einstellungen werden bei der Erstellung in ncm_bind() auf das net_device angewendet.

Bewahren Sie die Behebung des Use-After-Free-Fehlers aus dem Commit 6334b8e4553c ("usb: gadget: f_ncm: Fix UAF ncm object at re-bind after usb ep transport error") bei. Überprüfen Sie opts->net in ncm_set_alt() und ncm_disable(), um sicherzustellen, dass gether_disconnect() nur ausgeführt wird, wenn eine Verbindung hergestellt wurde.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Linux

Reservieren

13.01.2026

Veröffentlichung

25.03.2026

Moderieren

akzeptiert

Eintrag

VDB-353008

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!