cveboard RSS feed

CVE-2026-31728

CVE.org · Published

Historical CVEsJSONAI instructions

Record status
Published
Identifier year (not publication year)
2026
Source publication
Source updated
Imported by cveboard
Source snapshot
cve_2026-10-24_midnight_baseline ·

Plain text

CNA source text (English)

usb: gadget: u_ether: Fix race between gether_disconnect and eth_stop

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: u_ether: Fix race between gether_disconnect and eth_stop A race condition between gether_disconnect() and eth_stop() leads to a NULL pointer dereference. Specifically, if eth_stop() is triggered concurrently while gether_disconnect() is tearing down the endpoints, eth_stop() attempts to access the cleared endpoint descriptor, causing the following NPE: Unable to handle kernel NULL pointer dereference Call trace: __dwc3_gadget_ep_enable+0x60/0x788 dwc3_gadget_ep_enable+0x70/0xe4 usb_ep_enable+0x60/0x15c eth_stop+0xb8/0x108 Because eth_stop() crashes while holding the dev->lock, the thread running gether_disconnect() fails to acquire the same lock and spins forever, resulting in a hardlockup: Core - Debugging Information for Hardlockup core(7) Call trace: queued_spin_lock_slowpath+0x94/0x488 _raw_spin_lock+0x64/0x6c gether_disconnect+0x19c/0x1e8 ncm_set_alt+0x68/0x1a0 composite_setup+0x6a0/0xc50 The root cause is that the clearing of dev->port_usb in gether_disconnect() is delayed until the end of the function. Move the clearing of dev->port_usb to the very beginning of gether_disconnect() while holding dev->lock. This cuts off the link immediately, ensuring eth_stop() will see dev->port_usb as NULL and safely bail out.

Scoped product and version facts

Fix information unknown; no fixed version is derived here. Missing information does not prove that no fix exists.

Exploitation unknown; this catalogue does not assess exploitation.

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
unaffected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgitf02980594deef751e42133714aee25228f1494c6UnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgite1e7a66584bf0aff3becb73c19fa31527889fc9eUnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgita259ba0bce3b192c04334499690372a250f7d0b1UnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgitf6813c2b2ae78def76b69e0f9d72f80e4a1c4acaUnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgitbbb09bb89ffa571475f66daca9482b974cd29d6aUnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgit6ad77458637b78ec655e3da5f112c862e6690a9dUnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgit8ff689edfeceb5e3ec1623e09af2b2aa0f1098a8UnavailableNone listed
2b3d942c4878084a37991a65e66512c02b8fa2adaffectedgite1eabb072c75681f78312c484ccfffb7430f206eUnavailableNone listed

Linux

Vendor
Linux
Product
Linux
Platforms
Unknown
Default status
affected
Linux · Scoped product and version facts
Version (version)Status (status)Version scheme (versionType)Exclusive end (lessThan)Inclusive end (lessThanOrEqual)Status changes (at → status)
2.6.27affectedUnavailableUnavailableUnavailableNone listed
0unaffectedsemver2.6.27UnavailableNone listed
5.10.253unaffectedsemverUnavailable5.10.*None listed
5.15.203unaffectedsemverUnavailable5.15.*None listed
6.1.169unaffectedsemverUnavailable6.1.*None listed
6.6.134unaffectedsemverUnavailable6.6.*None listed
6.12.81unaffectedsemverUnavailable6.12.*None listed
6.18.22unaffectedsemverUnavailable6.18.*None listed
6.19.12unaffectedsemverUnavailable6.19.*None listed
7.0unaffectedoriginal_commit_for_fixUnavailable*None listed