CVE-2026-46280: lib: test_hmm: evict device pages on file close to avoid use-after-free

Published Jun 8, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

lib: testhmm: evict device pages on file close to avoid use-after-free

Patch series "Minor hmmtest fixes and cleanups".

Two bugfixes a cleanup for the HMM kernel selftests. These were mostly reported by Zenghui Yu with special thanks to Lorenzo for analysing and pointing out the problems.

This patch (of 3):

When dmirrorfopsrelease() is called it frees the dmirror struct but doesn't migrate device private pages back to system memory first. This leaves those pages with a dangling zonedevicedata pointer to the freed dmirror.

If a subsequent fault occurs on those pages (eg. during coredump) the dmirrordevmemfault() callback dereferences the stale pointer causing a kernel panic. This was reported [1] when running mm/ksfthmm.sh on arm64, where a test failure triggered SIGABRT and the resulting coredump walked the VMAs faulting in the stale device private pages.

Fix this by calling dmirrordeviceevictchunk() for each devmem chunk in dmirrorfopsrelease() to migrate all device private pages back to system memory before freeing the dmirror struct. The function is moved earlier in the file to avoid a forward declaration.

Affected Software

7 affected componentsFixes available
Linux Linux kernel
Microsoft azl3 kernel 6.6.139.1-1<6.6.141.1-1
6.6.141.1-1
Linux Linux kernel>=5.8<6.1.176
Linux Linux kernel>=6.2<6.6.140
Linux Linux kernel>=6.7<6.12.86
Linux Linux kernel>=6.13<6.18.27
Linux Linux kernel>=6.19<7.0.4

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 6.6.141.1-1
  2. Configuration

    Modify dmirror_fops_release() so that it migrates device private pages back to system memory first. Specifically, call dmirror_device_evict_chunk() for each devmem chunk to avoid leaving dangling zone_device_data pointers in pages whose fault path (dmirror_devmem_fault) would otherwise dereference a stale pointer and panic.

    Linux kernel (HMM test / dmirror) dmirror_fops_release() behavior = Evict device private pages back to system memory before freeing the dmirror struct; call dmirror_device_evict_chunk() for each devmem chunk.

Event History

Jun 8, 2026
CVE Published
via MITRE·03:41 PM
Data Sourced
via MITRE·03:41 PM
DescriptionSeverity
Data Sourced
via NVD·05:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jun 10, 2026
Data Sourced
via Microsoft·08:04 AM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2026-46280?

CVE-2026-46280 has a risk level of 46.

2

What type of vulnerability is CVE-2026-46280?

CVE-2026-46280 is categorized as a Use After Free vulnerability in the Linux kernel.

3

How does CVE-2026-46280 affect the Linux kernel?

CVE-2026-46280 can lead to potential exploitation during the file close process, causing unintended behavior.

4

How do I fix CVE-2026-46280?

To address CVE-2026-46280, ensure that your Linux kernel is updated to the patched version released after June 8, 2026.

5

Who reported the issues related to CVE-2026-46280?

The issues related to CVE-2026-46280 were primarily reported by Zenghui Yu.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203