VYPR
Medium severity5.5NVD Advisory· Published Apr 22, 2026· Updated Apr 28, 2026

CVE-2026-31520

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

3
  • Linux/Kernel3 versions
    cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 2 more
    • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=5.17,<6.1.168
    • cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

6

News mentions

0

No linked articles in our index yet.