CVE-2024-26630

In the Linux kernel, the following vulnerability has been resolved: mm: cachestat: fix folio read-after-free in cache walk In cachestat, we access the folio from the page cache's xarray to compute its page offset, and check for its dirty and writeback flags. However, we do not hold a reference to the folio before performing these actions, which means the folio can concurrently be released and reused as another folio/page/slab. Get around this altogether by just using xarray's existing machinery for the folio page offsets and dirty/writeback states. This changes behavior for tmpfs files to now always report zeroes in their dirty and writeback counters. This is okay as tmpfs doesn't follow conventional writeback cache behavior: its pages get "cleaned" during swapout, after which they're no longer resident etc.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*

History

13 Mar 2025, 19:36

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.1
First Time Linux linux Kernel
Linux
References () https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804 - () https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804 - Patch
References () https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117 - () https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117 - Patch
References () https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c - () https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c - Patch
CWE CWE-416
CPE cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc4:*:*:*:*:*:*

21 Nov 2024, 09:02

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm: cachestat: corrige read-after-free la publicación en cache walk En cachestat, accedemos a la publicación desde la matriz x de la caché de la página para calcular su desplazamiento de página y comprobar si está sucia y banderas de reescritura. Sin embargo, no mantenemos una referencia al folio antes de realizar estas acciones, lo que significa que el folio se puede liberar y reutilizar simultáneamente como otro folio/página/losa. Evite esto por completo simplemente utilizando la maquinaria existente de xarray para los desplazamientos de páginas de folio y los estados sucios/de reescritura. Esto cambia el comportamiento de los archivos tmpfs para que ahora siempre informen ceros en sus contadores sucios y de reescritura. Esto está bien ya que tmpfs no sigue el comportamiento de caché de reescritura convencional: sus páginas se "limpian" durante el intercambio, después del cual ya no residen, etc.
References () https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804 - () https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804 -
References () https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117 - () https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117 -
References () https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c - () https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c -

13 Mar 2024, 16:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-03-13 16:15

Updated : 2025-03-13 19:36


NVD link : CVE-2024-26630

Mitre link : CVE-2024-26630

CVE.ORG link : CVE-2024-26630


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free