Description
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.
Published: 2026-07-24
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The net2280 USB gadget driver in the Linux kernel contains a double‑free bug that occurs when the probe routine fails. During a probe error, the driver calls net2280_remove(), which frees the device structure and drops a gadget reference. Subsequently, the explicit kfree() call in the error path attempts to free the same object again. The second free corrupts kernel memory. This double‑free flaw (CWE-415) and the resulting incorrect use of allocation logic (CWE-1341) can cause a kernel panic or other system instability.

Affected Systems

Any Linux kernel that contains the net2280 gadget driver without the recent fix is vulnerable. Kernel versions 7.1 release candidates rc1 through rc5 are explicitly listed in the affected CPE set, so those releases are affected. In addition, any other mainline or distribution kernel builds that include the driver remain at risk until updated.

Risk and Exploitability

The CVSS score of 7.8 indicates moderate‑to‑high severity. The EPSS score is below 1 % and the vulnerability is not listed in CISA’s KEV catalog, indicating a low probability of exploitation in the wild. Exploitation would require an attacker to supply a USB gadget that triggers a probe failure, implying physical access or control over the device. The most likely outcome is a kernel crash; no documented exploit chain or privilege escalation logic is present in the current data.

Generated by OpenCVE AI on August 13, 2026 at 22:13 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a release that includes the net2280 double‑free fix.
  • If updating immediately is not feasible, unload or blacklist the net2280 module (e.g., modprobe -r net2280 or add a blacklist entry).
  • As a precaution, disable USB gadget support in the kernel configuration to prevent the module from loading.

Generated by OpenCVE AI on August 13, 2026 at 22:13 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Thu, 13 Aug 2026 17:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-415
CPEs cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Wed, 05 Aug 2026 01:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Thu, 30 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Wed, 29 Jul 2026 00:15:00 +0000


Fri, 24 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Description 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.
Title usb: gadget: net2280: Fix double free in probe error path
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-24T15:27:44.730Z

Reserved: 2026-07-19T15:36:31.772Z

Link: CVE-2026-64242

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-24T16:16:53.553

Modified: 2026-08-13T17:22:29.770

Link: CVE-2026-64242

cve-icon Redhat

Severity :

Publid Date: 2026-07-24T00:00:00Z

Links: CVE-2026-64242 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T22:15:03Z

Weaknesses
  • CWE-1341

    Multiple Releases of Same Resource or Handle

  • CWE-415

    Double Free