CVE-2026-64242
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: net2280: Fix double free in probe error path
usb_initialize_gadget() installs gadget_release() as the release callback for the embedded gadget device. The struct net2280 instance is therefore released through gadget_release() when the gadget device's last reference is dropped.
The probe error path calls net2280_remove(), which tears down the partially initialized device and drops the gadget reference with usb_put_gadget(). Calling kfree(dev) afterwards can free the same object again.
Drop the explicit kfree() and let the gadget device release callback handle the final free. This issue was found by a static analysis tool I am developing.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < 71b3391dc81655ff058492f8e9d013b2c6e5747b | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < 550fa4d071a8c8e53072900869d37ae6abf4999d | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < c5b9fdb1e8ddf50bc6272927edb118679f170350 | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < 085652fda7f38040d1a2c42d72614f418feb843f | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < 48f89ead20e48d447ad29fa937b43b9fa981cf28 | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < e6f8be12f0307145b9a6010f044925952b37de8b | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < db2b72e83a0208ae2b3b270bf91662b1c6849a9b | affected |
| Linux | Linux | f770fbec4165b1acfabdeadb01ad6008d2c537b5 < c8547c74988e0b5f4cbb1b895e2a57aae084f070 | affected |
| Linux | Linux | 5.10 | affected |
| Linux | Linux | 0 < 5.10 | unaffected |
| Linux | Linux | 5.10.259 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.210 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.176 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.143 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.93 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.35 <= 6.18.* | unaffected |
| Linux | Linux | 7.0.12 <= 7.0.* | unaffected |
| Linux | Linux | 7.1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/71b3391dc81655ff058492f8e9d013b2c6e5747b
- https://git.kernel.org/stable/c/550fa4d071a8c8e53072900869d37ae6abf4999d
- https://git.kernel.org/stable/c/c5b9fdb1e8ddf50bc6272927edb118679f170350
- https://git.kernel.org/stable/c/085652fda7f38040d1a2c42d72614f418feb843f
- https://git.kernel.org/stable/c/48f89ead20e48d447ad29fa937b43b9fa981cf28
- https://git.kernel.org/stable/c/e6f8be12f0307145b9a6010f044925952b37de8b
- https://git.kernel.org/stable/c/db2b72e83a0208ae2b3b270bf91662b1c6849a9b
- https://git.kernel.org/stable/c/c8547c74988e0b5f4cbb1b895e2a57aae084f070
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.