CVE-2026-31589

In the Linux kernel, the following vulnerability has been resolved: mm: call ->free_folio() directly in folio_unmap_invalidate() We can only call filemap_free_folio() if we have a reference to (or hold a lock on) the mapping. Otherwise, we've already removed the folio from the mapping so it no longer pins the mapping and the mapping can be removed, causing a use-after-free when accessing mapping->a_ops. Follow the same pattern as __remove_mapping() and load the free_folio function pointer before dropping the lock on the mapping. That lets us make filemap_free_folio() static as this was the only caller outside filemap.c.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

11 Nov 2026, 23:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: mm: llamar a -> free_folio() directamente en folio_unmap_invalidate() Solo podemos llamar a filemap_free_folio() si tenemos una referencia a (o mantenemos un bloqueo sobre) el mapeo. De lo contrario, ya hemos eliminado el folio del mapeo, por lo que ya no fija el mapeo y el mapeo puede ser eliminado, causando un uso después de liberación al acceder a mapping -> a_ops. Siga el mismo patrón que __remove_mapping() y cargue el puntero de función free_folio antes de liberar el bloqueo sobre el mapeo. Eso nos permite hacer filemap_free_folio() estática, ya que este era el único llamador fuera de filemap.c.

Information

Published : 2026-04-24 15:16

Updated : 2026-11-11 23:10


NVD link : CVE-2026-31589

Mitre link : CVE-2026-31589

CVE.ORG link : CVE-2026-31589


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free