CVE-2026-43432 json
usb: xhci: Fix memory leak in xhci_disable_slot()
published 2026-05-08 6 mo ago modified 2026-11-06 2 d ago also EUVD-2026-28738
- cvss
- 5.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 2%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
usb: xhci: Fix memory leak in xhci_disable_slot()
xhci_alloc_command() allocates a command structure and, when the second argument is true, also allocates a completion structure. Currently, the error handling path in xhci_disable_slot() only frees the command structure using kfree(), causing the completion structure to leak.
Use xhci_free_command() instead of kfree(). xhci_free_command() correctly frees both the command structure and the associated completion structure. Since the command structure is allocated with zero-initialization, command->in_ctx is NULL and will not be erroneously freed by xhci_free_command().
This bug was found using an experimental static analysis tool we are developing. The tool is based on the LLVM framework and is specifically designed to detect memory management issues. It is currently under active development and not yet publicly available, but we plan to open-source it after our research is published.
The bug was originally detected on v6.13-rc1 using our static analysis tool, and we have verified that the issue persists in the latest mainline kernel.
We performed build testing on x86_64 with allyesconfig using GCC=11.4.0. Since triggering these error paths in xhci_disable_slot() requires specific hardware conditions or abnormal state, we were unable to construct a test case to reliably trigger these specific error paths at runtime.
Patch / fix
- Linux Linux 4.20, 5.5, 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.78, 6.18.19, 6.19.9, 7.0
- linux Debian 12 6.1.170-1
- linux Debian 13 6.12.85-1
- linux Debian 14 6.19.10-1
debian advisories DEBIAN-CVE-2026-43432
- linux Ubuntu 22.04 LTS 5.15.0-186.196
- linux Ubuntu 24.04 LTS 6.8.0-136.136
- linux-aws Ubuntu 22.04 LTS 5.15.0-1112.119
- linux-aws Ubuntu 24.04 LTS 6.8.0-1061.64
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1112.122
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1064.72
- linux-gke Ubuntu 22.04 LTS 5.15.0-1108.114
- linux-gke Ubuntu 24.04 LTS 6.8.0-1059.67
ubuntu advisories UBUNTU-CVE-2026-43432
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-source Linux Micro 6.1, Linux Micro 6.0 6.4.0-51.1
- kernel-default Linux Micro 6.1, Linux Micro 6.0 6.4.0-51.1
- kernel-kvmsmall Linux Micro 6.1, Linux Micro 6.0 6.4.0-51.1
- kernel-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-51.1
- kernel-source-rt Linux Micro 6.1, Linux Micro 6.0 6.4.0-51.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.37.1
- kernel-rt Linux Micro 6.2 6.12.0-160000.37.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.37.1
suse advisories SUSE-SU-2026:23244-1SUSE-SU-2026:23241-1SUSE-SU-2026:23194-1SUSE-SU-2026:23193-1SUSE-SU-2026:23237-1SUSE-SU-2026:23068-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.37.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.37.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.37.1
opensuse advisories openSUSE-SU-2026:21555-1
- git.kernel.org/stable/c/1e800e26d54ccf2ddf2ea6d6cbe021c804d8aa62 commit
- git.kernel.org/stable/c/6288baf0c8c4dcfbf206773aede9c1f2269cec28 commit
- git.kernel.org/stable/c/46aea90763832cd6e9b0c2e1c00e6a9512156d4b commit
- git.kernel.org/stable/c/2e2baa8fb5aa4d080cbfeb84c51eff797529f413 commit
- git.kernel.org/stable/c/807e4fb5140c73eb5dba1e399a990db5c1f3cdf8 commit
- git.kernel.org/stable/c/c65f1b840ab8ce72ba68f1b63bab7960f8fdfa89 commit
- git.kernel.org/stable/c/078b446efc0f5e496c31bccb72b98af979963a83 commit
- git.kernel.org/stable/c/c1c8550e70401159184130a1afc6261db01fc0ce commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-43432 updated cvss 5.5
kernel: usb: xhci: Fix memory leak in xhci_disable_slot()
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 moreaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 moreaffected: no fix available, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 10 kernelaffected: no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 3 d ago
Exploit prediction
0.12% chance of exploitation in the next 30 days, higher than 2% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Weakness
-
- CWE-401 Missing Release of Memory after Effective Lifetime
- Technology feeds
References
-
git.kernel.org
/stable/c/1e800e26d54ccf2ddf2ea6d6cbe021c804d8aa62
patch
-
git.kernel.org
/stable/c/6288baf0c8c4dcfbf206773aede9c1f2269cec28
patch
-
git.kernel.org
/stable/c/46aea90763832cd6e9b0c2e1c00e6a9512156d4b
patch
-
git.kernel.org
/stable/c/2e2baa8fb5aa4d080cbfeb84c51eff797529f413
patch
-
git.kernel.org
/stable/c/807e4fb5140c73eb5dba1e399a990db5c1f3cdf8
patch
-
git.kernel.org
/stable/c/c65f1b840ab8ce72ba68f1b63bab7960f8fdfa89
patch
-
git.kernel.org
/stable/c/078b446efc0f5e496c31bccb72b98af979963a83
patch
-
git.kernel.org
/stable/c/c1c8550e70401159184130a1afc6261db01fc0ce
patch
Sources
- CVE List CVE-2026-43432
- NVD CVE-2026-43432
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.