CVE-2024-56712

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*

History

06 Jan 2025, 17:11

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: udmabuf: reparar pérdida de memoria en la última ruta de error export_udmabuf() En export_udmabuf(), si dma_buf_fd() falla porque la tabla FD está llena, ya se ha creado un dma_buf que posee el udmabuf; pero la gestión de errores en udmabuf_create() destruirá el udmabuf sin hacer nada con el dma_buf que lo contiene. Esto deja un dma_buf en la memoria que contiene un puntero colgante; aunque eso no parece conducir a nada malo excepto a una pérdida de memoria. Arréglelo moviendo la llamada dma_buf_fd() fuera de export_udmabuf() para que podamos darle un gestión de errores diferente. Tenga en cuenta que la forma de este código cambió mucho en el commit 5e72b2b41a21 ("udmabuf: convertir el controlador udmabuf para usar folios"); Pero la pérdida de memoria parece haber existido desde la introducción de udmabuf.
CPE cpe:2.3:o:linux:linux_kernel:6.13:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.13:rc1:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/c9fc8428d4255c2128da9c4d5cd92e554d0150cf - () https://git.kernel.org/stable/c/c9fc8428d4255c2128da9c4d5cd92e554d0150cf - Patch
References () https://git.kernel.org/stable/c/f49856f525acd5bef52ae28b7da2e001bbe7439e - () https://git.kernel.org/stable/c/f49856f525acd5bef52ae28b7da2e001bbe7439e - Patch
CWE CWE-401
First Time Linux
Linux linux Kernel

29 Dec 2024, 09:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-12-29 09:15

Updated : 2025-04-17 21:15


NVD link : CVE-2024-56712

Mitre link : CVE-2024-56712

CVE.ORG link : CVE-2024-56712


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-401

Missing Release of Memory after Effective Lifetime