CVE-2025-21929: HID: intel-ish-hid: Fix use-after-free issue in hid_ishtp_cl_remove()
In the Linux kernel, the following vulnerability has been resolved:
HID: intel-ish-hid: Fix use-after-free issue in hid_ishtp_cl_remove()
During the `rmmod` operation for the `intel_ishtp_hid` driver, a
use-after-free issue can occur in the hid_ishtp_cl_remove() function.
The function hid_ishtp_cl_deinit() is called before ishtp_hid_remove(),
which can lead to accessing freed memory or resources during the
removal process.
Call Trace:
? ishtp_cl_send+0x168/0x220 [intel_ishtp]
? hid_output_report+0xe3/0x150 [hid]
hid_ishtp_set_feature+0xb5/0x120 [intel_ishtp_hid]
ishtp_hid_request+0x7b/0xb0 [intel_ishtp_hid]
hid_hw_request+0x1f/0x40 [hid]
sensor_hub_set_feature+0x11f/0x190 [hid_sensor_hub]
_hid_sensor_power_state+0x147/0x1e0 [hid_sensor_trigger]
hid_sensor_runtime_resume+0x22/0x30 [hid_sensor_trigger]
sensor_hub_remove+0xa8/0xe0 [hid_sensor_hub]
hid_device_remove+0x49/0xb0 [hid]
hid_destroy_device+0x6f/0x90 [hid]
ishtp_hid_remove+0x42/0x70 [intel_ishtp_hid]
hid_ishtp_cl_remove+0x6b/0xb0 [intel_ishtp_hid]
ishtp_cl_device_remove+0x4a/0x60 [intel_ishtp]
...
Additionally, ishtp_hid_remove() is a HID level power off, which should
occur before the ISHTP level disconnect.
This patch resolves the issue by reordering the calls in
hid_ishtp_cl_remove(). The function ishtp_hid_remove() is now
called before hid_ishtp_cl_deinit().
Security readout for executives and security teams
Plain-English summary
CVE-2025-21929 is a Linux kernel use-after-free in the Intel ISH HID driver removal path. It can occur when the intel_ishtp_hid driver is unloaded, potentially affecting confidentiality, integrity, and availability on systems running affected kernels. The supplied evidence does not show active exploitation.
Executive priority
Treat as high priority for endpoint and platform patch cycles, especially on fleets with Intel sensor hub hardware. It is not currently an internet-facing emergency based on supplied evidence, but kernel memory-safety impact warrants timely remediation.
Technical view
The flaw is CWE-416 in hid_ishtp_cl_remove(). hid_ishtp_cl_deinit() ran before ishtp_hid_remove(), leaving HID removal code able to access freed ISHTP resources. The kernel fix reorders removal so HID-level power-off/removal occurs before ISHTP-level disconnect/deinit.
Likely exposure
Exposure is most likely on Linux systems using affected kernel versions where Intel ISH HID support is present or loadable. The bundle lists affected Linux versions including 6.8, 6.12.19, 6.13.7, and 6.14, but distribution backport status must be verified separately.
Exploitation context
CVSS rates this local, low-complexity, low-privilege, no-user-interaction vulnerability with high confidentiality, integrity, and availability impact. The provided sources describe a module removal use-after-free and do not provide evidence of public exploitation or CISA KEV listing.
Researcher notes
The vulnerability is narrowly tied to teardown ordering in intel-ish-hid. Evidence supports the fix as call reordering in hid_ishtp_cl_remove(). Affected-version data in the bundle appears coarse, so confirm exact exposure through kernel source, distro changelogs, or package metadata.
Mitigation direction
Apply a vendor or distribution kernel update containing the referenced stable fixes.
Review Linux distribution advisories for exact fixed package versions.
Avoid unnecessary intel_ishtp_hid unload or reload operations until patched.
Use vendor guidance before disabling Intel ISH HID functionality.
Validation and detection
Inventory Linux kernel versions across laptops, workstations, and servers.
Check whether intel_ishtp_hid is present, loaded, or available on affected hosts.
Confirm installed kernel includes one of the referenced stable fixes or distro backport.
Validate CISA KEV status remains negative before changing urgency assumptions.
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.
cwe · low confidence lookup
CWE-416: Exact CWE lookup
Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
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
1ADP providers
4Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: noneAutomatable: noTechnical Impact: total
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.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-416 · source CWE mapping
Use After Free
Use After Free represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.