CVE-2026-31520
Description
In the Linux kernel, the following vulnerability has been resolved:
HID: apple: avoid memory leak in apple_report_fixup()
The apple_report_fixup() function was returning a newly kmemdup()-allocated buffer, but never freeing it.
The caller of report_fixup() does not take ownership of the returned pointer, but it *is* permitted to return a sub-portion of the input rdesc, whose lifetime is managed by the caller.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
A memory leak in the Linux kernel's HID apple driver occurs when apple_report_fixup() allocates a buffer with kmemdup() but never frees it, over time exhausting system memory.
Vulnerability
Description
A memory leak vulnerability exists in the Linux kernel's HID (Human Interface Device) subsystem, specifically in the Apple HID driver. The function apple_report_fixup() allocates a new buffer using kmemdup() but never frees it after use. The intended design of the report_fixup() callback is that it may return a pointer to a sub-portion of the input report descriptor (rdesc) whose lifetime is managed by the caller, not a newly allocated buffer. By returning the kmemdup-allocated memory, the driver creates an unreferenced allocation that cannot be freed, resulting in a memory leak [1][2][3][4].
Exploitation
An attacker with physical access to the system or the ability to plug in a malicious HID device that triggers the Apple HID driver's report fixup path can repeatedly trigger this leak. No authentication is required, as the attack relies on device enumeration at the hardware level. Each invocation of apple_report_fixup() leaks a small amount of memory, so the vulnerability must be triggered many times to cause noticeable impact [1][2].
Impact
Successful exploitation leads to gradual depletion of system memory (kernel memory exhaustion). Over time, this can cause system instability, denial of service (DoS), or even a system crash. The CVSSv3 score is 5.5 (Medium), reflecting the need for repeated interaction and the resulting denial-of-service impact [1][2][3][4].
Mitigation
The fix is included in the Linux kernel stable updates corresponding to commits referenced in [1], [2], [3], and [4]. The patch ensures that apple_report_fixup() no longer leaks memory by using the buffer correctly. Users should update their kernel to a version containing these commits to mitigate the vulnerability.
AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.
Affected products
3Patches
0No patches discovered yet.
Vulnerability mechanics
AI mechanics synthesis has not run for this CVE yet.
References
6- git.kernel.org/stable/c/239c15116d80f67d32f00acc34575f1a6b699613nvdPatch
- git.kernel.org/stable/c/2635d0c715f3fb177e0f80ecd5fa48feb6bf3884nvdPatch
- git.kernel.org/stable/c/31860c3f7ac66ab897a8c90dc4e74fa17ca0b624nvdPatch
- git.kernel.org/stable/c/be1a341c161430282acdfe2ac99b413271575cf1nvdPatch
- git.kernel.org/stable/c/e2f090aeb7b9930a964e151910f4d45b04c8a7e5nvdPatch
- git.kernel.org/stable/c/e652ebd29928181c3e6820e303da25873e9917d4nvdPatch
News mentions
0No linked articles in our index yet.