What’s Vulnerable › Vulnerabilities
CVE-2024-56712: udmabuf: fix memory leak on last export_udmabuf() error path
- Severity: medium (CVSS 5.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2024-12-29 · updated 2026-10-30
- Weakness: CWE-401
Description
In the Linux kernel, the following vulnerability has been resolved: udmabuf: fix memory leak on last export_udmabuf() error path In export_udmabuf(), if dma_buf_fd() fails because the FD table is full, a dma_buf owning the udmabuf has already been created; but the error handling in udmabuf_create() will tear down the udmabuf without doing anything about the containing dma_buf. This leaves a dma_buf in memory that contains a dangling pointer; though that doesn't seem to lead to anything bad except a memory leak. Fix it by moving the dma_buf_fd() call out of export_udmabuf() so that we can give it different error handling. Note that the shape of this code changed a lot in commit 5e72b2b41a21 ("udmabuf: convert udmabuf driver to use folios"); but the memory leak seems to have existed since the introduction of udmabuf.
Affected products
- Linux kernel: from 4.20 before 6.12.7; 6.13-rc1, 6.13-rc2, 6.13-rc3 — fixed in 6.12.7
- Linux: 4.20 — fixed in 6.13
How to fix
Upgrade to a fixed version: Linux kernel 6.12.7; Linux 6.13. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/00ebdef47994206f60546929a0f6f63285497272
- https://git.kernel.org/stable/c/c9fc8428d4255c2128da9c4d5cd92e554d0150cf
- https://git.kernel.org/stable/c/e469922fbdf6ad729e5dc8d49289b5036a0ecdf8
- https://git.kernel.org/stable/c/f49856f525acd5bef52ae28b7da2e001bbe7439e
Get alerted when CVE-2024-56712 or the next vulnerability affects your stack