Executive brief
A memory leak vulnerability was identified in the Qualcomm GPI DMA driver within the Linux kernel. This issue occurs when the system fails to reallocate memory for peripheral configurations, causing the original memory to become unreachable. In practice, this could allow a local attacker to gradually exhaust system memory, potentially leading to a system crash or denial of service.
Technical details
A memory leak exists in drivers/dma/qcom/gpi.c within the gpi_peripheral_config() function. The vulnerability is caused by the improper use of krealloc(); when krealloc() fails and returns NULL, the code directly assigns this NULL value to the original pointer (gchan->config), losing the reference to the previously allocated memory. This makes the original memory unreachable and impossible to free. An attacker with local access could trigger this condition to cause a kernel memory leak, eventually leading to a Denial of Service (DoS) via memory exhaustion. The fix introduces a temporary variable to ensure the original pointer is preserved if reallocation fails.
Affected products
- Linux Linux Kernel 5.11.1 to 5.15.199, 5.16 to 6.1.162, 6.2 to 6.6.122, 6.7 to 6.12.67, 6.13 to 6.18.7
Timeline
- 2025-10-29: other: Patch submitted by researcher
- 2026-01-31: disclosed: CVE published
- 2026-01-11: patched: Fix committed to stable tree
References
- https://git.kernel.org/stable/c/01b1d781394fc9b83015e3a3cd46b17bda842bd8
- https://git.kernel.org/stable/c/3f747004bbd641131d9396d87b5d2d3d1e182728
- https://git.kernel.org/stable/c/4532f18e4ab36def1f55cd936d0fc002b2ce34c2
- https://git.kernel.org/stable/c/55a67ba5ac4cebfd54cc8305d4d57a0f1dfe6a85
- https://git.kernel.org/stable/c/694ab1f6f16cb69f7c5ef2452b22ba7b00a3c7c7
- https://git.kernel.org/stable/c/6bf4ef078fd11910988889a6c0b3698d2e0c89af
- https://cert-portal.siemens.com/productcert/html/ssa-253495.html