Description
In the Linux kernel, the following vulnerability has been resolved:

usb: ulpi: fix double free in ulpi_register_interface() error path

When device_register() fails, ulpi_register() calls put_device() on
ulpi->dev.

The device release callback ulpi_dev_release() drops the OF node
reference and frees ulpi, but the current error path in
ulpi_register_interface() then calls kfree(ulpi) again, causing a
double free.

Let put_device() handle the cleanup through ulpi_dev_release() and
avoid freeing ulpi again in ulpi_register_interface().
Published: 2026-05-01
Score: 7.0 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel’s USB ULPI driver contains a double free flaw that occurs when device registration fails and the error path frees the ULPI structure a second time after the device release routine has already cleaned it up. The weakness is identified as a double free flaw (CWE-1341). This double free can corrupt kernel memory, potentially allowing an attacker with sufficient privileges or local access to gain elevated privileges or crash the system. Based on the description, this double free can corrupt kernel memory, potentially allowing an attacker with sufficient privileges or local access to gain elevated privileges or crash the system.

Affected Systems

All Linux kernel releases that include the faulty ULPI USB driver are affected, as the vulnerability is present in the core kernel code. Because the patch has been committed in the upstream kernel repository, any distribution that has not yet applied the corrective commit in its kernel package remains impacted.

Risk and Exploitability

The CVSS score is 7.0, the EPSS score is also missing, so the exact likelihood of exploitation is uncertain. The vulnerability is not listed in the CISA KEV catalog, and no public exploits have been reported yet. The likely attack vector is local access or the ability to trigger the fault by interacting with USB devices that use the ULPI interface. The attacker would need to induce a device registration failure to trigger the double free, which suggests a moderate to high risk for systems running vulnerable kernels.

Generated by OpenCVE AI on May 2, 2026 at 10:25 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the ULPI double‑free fix, such as the commits referenced in the advisory (e.g., 01af542… and 272a9b…).
  • If an immediate kernel upgrade is not possible, temporarily disable the ULPI USB driver or remove the affected kernel module to prevent the fault from being triggered.
  • Rebuild the kernel with the put_device handling retained and remove the secondary kfree(ulpi) call, following the logic described in the advisory’s patch for a custom or downstream kernel build.

Generated by OpenCVE AI on May 2, 2026 at 10:25 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4561-1 linux-6.1 security update
Debian DSA Debian DSA DSA-6243-1 linux security update
History

Sat, 02 May 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-1341
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Fri, 01 May 2026 14:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: usb: ulpi: fix double free in ulpi_register_interface() error path When device_register() fails, ulpi_register() calls put_device() on ulpi->dev. The device release callback ulpi_dev_release() drops the OF node reference and frees ulpi, but the current error path in ulpi_register_interface() then calls kfree(ulpi) again, causing a double free. Let put_device() handle the cleanup through ulpi_dev_release() and avoid freeing ulpi again in ulpi_register_interface().
Title usb: ulpi: fix double free in ulpi_register_interface() 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-05-01T14:14:51.895Z

Reserved: 2026-03-09T15:48:24.139Z

Link: CVE-2026-31759

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-05-01T15:16:38.923

Modified: 2026-05-01T15:24:14.893

Link: CVE-2026-31759

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-05-01T00:00:00Z

Links: CVE-2026-31759 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-02T10:30:40Z

Weaknesses