CVE-2025-40095: usb: gadget: f_rndis: Refactor bind path to use __free()
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_rndis: Refactor bind path to use __free()
After an bind/unbind cycle, the rndis->notify_req is left stale. If a
subsequent bind fails, the unified error label attempts to free this
stale request, leading to a NULL pointer dereference when accessing
ep->ops->free_request.
Refactor the error handling in the bind path to use the __free()
automatic cleanup mechanism.
Security readout for executives and security teams
Plain-English summary
Linux systems using the USB gadget RNDIS function can retain an invalid request after an unbind. If a later bind fails, kernel cleanup may dereference invalid state and crash. Exposure depends on RNDIS gadget functionality being present and a local user being able to trigger the required lifecycle.
Executive priority
Prioritize remediation for exposed appliances, embedded systems, and development platforms using USB gadget RNDIS, especially where local access is shared or untrusted. Systems without this functionality are lower priority. No supplied evidence supports emergency treatment for active exploitation.
Technical view
After a bind/unbind cycle, rndis->notify_req remains stale. When a subsequent bind fails, the shared error path tries to free that request and dereferences a NULL endpoint through ep->ops->free_request. The referenced correction refactors bind-path cleanup to use the kernel's __free() mechanism.
Likely exposure
Likely exposure is concentrated in Linux devices using USB gadget RNDIS. The supplied version data is ambiguous, including duplicate hashes and a "0" entry, so version strings alone should not determine vulnerability. Confirm distribution or vendor backports against the referenced stable-kernel commits.
Exploitation context
The bundle marks KEV false and provides no evidence of active exploitation or public exploit availability. The CVSS vector describes local, low-complexity, low-privilege access without user interaction. The technical description establishes a NULL-pointer crash condition, but does not demonstrate confidentiality or integrity impact.
Researcher notes
The failure requires a bind/unbind cycle followed by a failing bind path. No CWE is supplied. The CVSS claims high confidentiality, integrity, and availability impact, while the description directly supports only a kernel NULL-pointer crash. Affected-version boundaries require confirmation from vendor advisories or commit ancestry.
Mitigation direction
Inventory systems using the Linux USB gadget RNDIS function and record kernel and vendor package versions.
Apply vendor kernel updates incorporating the applicable referenced stable-kernel correction.
If updates are unavailable, consult vendor guidance and disable unneeded RNDIS gadget functionality.
Prioritize systems where untrusted local users can influence USB gadget configuration.
Validation and detection
Confirm whether f_rndis is built, loaded, or configured on each Linux system.
Compare deployed kernels and package changelogs with the five referenced stable-kernel commits.
Review kernel logs for NULL-pointer dereferences associated with RNDIS bind or unbind activity.
Verify updated systems contain the vendor backport; version strings alone may be insufficient.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-40095 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
6Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.