CVE-2026-31589

CRITICAL

mm: call ->free_folio() directly in folio_unmap_invalidate()

Title source: cna
STIX 2.1

Description

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.

Scores

CVSS v3 9.8
EPSS 0.0005
EPSS Percentile 16.4%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Details

CWE
CWE-416
Status published
Products (11)
Linux/Linux < 6.14
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - b667df39d98a7a24be7c2a40ff0863dac1ad2cd7
Linux/Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 - c330e65ea59c4805d6ab6757c4ddfe8c63acef31
Linux/Linux 6.14
Linux/Linux 6.19.14 - 6.19.*
Linux/Linux 7.0.1 - 7.0.*
Linux/Linux 7.1-rc1
Linux/Linux fb7d3bc4149395c1ae99029c852eab6c28fc3c88 - 615d9bb2ccad42f9e21d837431e401db2e471195
Linux/Linux fb7d3bc4149395c1ae99029c852eab6c28fc3c88 - b667df39d98a7a24be7c2a40ff0863dac1ad2cd7
Linux/Linux fb7d3bc4149395c1ae99029c852eab6c28fc3c88 - c330e65ea59c4805d6ab6757c4ddfe8c63acef31
... and 1 more
Published Apr 24, 2026
Tracked Since Apr 24, 2026