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.
Published: 2026-04-24
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Use‑After‑Free leading to kernel memory corruption and possible privilege escalation
Action: Immediate Patch
AI Analysis

Impact

The flaw occurs in the Linux kernel memory manager, where a handler calls the free operation on a folio after the mapping lock has been released. This allows the folio to be freed while the mapping still exists, resulting in a use‑after‑free of mapping->a_ops. The flaw can lead to code execution in kernel mode, giving an attacker local privilege escalation.

Affected Systems

All current Linux kernel versions are potentially affected until a patched version is installed. The vulnerability is present in the generic Linux kernel, affecting all vendor builds that use the upstream kernel without the patch.

Risk and Exploitability

The CVSS score of 9.8 indicates a high severity vulnerability. The EPSS score is less than 1%, suggesting a low probability of exploitation at this time, and the vulnerability is not listed in the CISA KEV catalog. However, because the flaw is a use‑after‑free in the kernel, an attacker with local access could potentially trigger it by manipulating memory mapping operations, leading to privilege escalation.

Generated by OpenCVE AI on April 28, 2026 at 23:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel update that incorporates the fix for the use‑after‑free in folio_unmap_invalidate
  • Reboot the system to load the updated kernel
  • Consider disabling or limiting kernel modules that perform memory mapping operations until a patch is available

Generated by OpenCVE AI on April 28, 2026 at 23:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 07 May 2026 05:30:00 +0000


Tue, 28 Apr 2026 20:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 28 Apr 2026 20:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 28 Apr 2026 07:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-416

Tue, 28 Apr 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 27 Apr 2026 15:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Mon, 27 Apr 2026 11:30:00 +0000


Fri, 24 Apr 2026 15:00:00 +0000

Type Values Removed Values Added
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.
Title mm: call ->free_folio() directly in folio_unmap_invalidate()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-05-11T22:11:42.830Z

Reserved: 2026-03-09T15:48:24.120Z

Link: CVE-2026-31589

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2026-04-24T15:16:34.700

Modified: 2026-05-07T06:16:03.710

Link: CVE-2026-31589

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-04-24T00:00:00Z

Links: CVE-2026-31589 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-04-28T23:45:16Z

Weaknesses