7.8
HIGH CVSS 3.1
CVE-2026-46280
lib: test_hmm: evict device pages on file close to avoid use-after-free
Description

In the Linux kernel, the following vulnerability has been resolved: lib: test_hmm: evict device pages on file close to avoid use-after-free Patch series "Minor hmm_test 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 dmirror_fops_release() 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 zone_device_data pointer to the freed dmirror. If a subsequent fault occurs on those pages (eg. during coredump) the dmirror_devmem_fault() callback dereferences the stale pointer causing a kernel panic. This was reported [1] when running mm/ksft_hmm.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 dmirror_device_evict_chunk() for each devmem chunk in dmirror_fops_release() 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.

INFO

Published Date :

June 8, 2026, 5:16 p.m.

Last Modified :

July 23, 2026, 8:10 a.m.

Remotely Exploit :

No

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-46280 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 HIGH 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
Evict device pages before freeing memory to prevent use-after-free and kernel panics.
  • Migrate device private pages back to system memory.
  • Free the dmirror struct after eviction.
  • Apply the patch series for HMM kernel selftests.
  • Update the Linux kernel to the latest version.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-46280 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-46280 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-46280 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-46280 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Translated by [email protected]

    Jul. 23, 2026

    Action Type Old Value New Value
    Added Translation Title: Linux, Description: En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: lib: test_hmm: expulsar páginas de dispositivo al cerrar el archivo para evitar el uso después de liberación Serie de parches 'Correcciones y limpiezas menores de hmm_test'. Dos correcciones de errores y una limpieza para las autopruebas del kernel HMM. Estos fueron reportados principalmente por Zenghui Yu con un agradecimiento especial a Lorenzo por analizar y señalar los problemas. Este parche (de 3): Cuando se llama a dmirror_fops_release(), libera la estructura dmirror pero no migra primero las páginas privadas del dispositivo de vuelta a la memoria del sistema. Esto deja esas páginas con un puntero zone_device_data colgante a la dmirror liberada. Si ocurre una falla posterior en esas páginas (por ejemplo, durante un coredump), la devolución de llamada dmirror_devmem_fault() desreferencia el puntero obsoleto causando un pánico del kernel. Esto fue reportado [1] al ejecutar mm/ksft_hmm.sh en arm64, donde una falla de prueba activó SIGABRT y el coredump resultante recorrió las VMA causando fallas en las páginas privadas de dispositivo obsoletas. Solucione esto llamando a dmirror_device_evict_chunk() para cada fragmento de devmem en dmirror_fops_release() para migrar todas las páginas privadas del dispositivo de vuelta a la memoria del sistema antes de liberar la estructura dmirror. La función se mueve antes en el archivo para evitar una declaración anticipada.
  • Initial Analysis by [email protected]

    Jul. 08, 2026

    Action Type Old Value New Value
    Added CWE CWE-416
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.86 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.140 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.27 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.4 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.8 up to (excluding) 6.1.176
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/234071b4318feaeb27cd2e4e1b16ef6b055adf89 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/38f113f81d3f0adc658a4475dd3ecaec985e21d3 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/5846715b6382dd4c6a69b35a56ca6115d33bc2a0 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/744dd97752ef1076a8d8672bb0d8aa2c7abc1144 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/bf477abd448c76bb8ea51c9b4f63a3a17c4b6239 Types: Patch
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 19, 2026

    Action Type Old Value New Value
    Added Reference https://git.kernel.org/stable/c/234071b4318feaeb27cd2e4e1b16ef6b055adf89
    Changed Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': 'bf477abd448c76bb8ea51c9b4f63a3a17c4b6239', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '5846715b6382dd4c6a69b35a56ca6115d33bc2a0', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '38f113f81d3f0adc658a4475dd3ecaec985e21d3', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '744dd97752ef1076a8d8672bb0d8aa2c7abc1144', 'versionType': 'git'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.140', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.86', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.27', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.4', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'affected'}] [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '234071b4318feaeb27cd2e4e1b16ef6b055adf89', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': 'bf477abd448c76bb8ea51c9b4f63a3a17c4b6239', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '5846715b6382dd4c6a69b35a56ca6115d33bc2a0', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '38f113f81d3f0adc658a4475dd3ecaec985e21d3', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '744dd97752ef1076a8d8672bb0d8aa2c7abc1144', 'versionType': 'git'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.140', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.86', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.27', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.4', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'affected'}]
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 17, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': 'bf477abd448c76bb8ea51c9b4f63a3a17c4b6239', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '5846715b6382dd4c6a69b35a56ca6115d33bc2a0', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '38f113f81d3f0adc658a4475dd3ecaec985e21d3', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1', 'versionType': 'git'}, {'status': 'affected', 'version': 'b2ef9f5a5cb37643ca5def3516c546457074b882', 'lessThan': '744dd97752ef1076a8d8672bb0d8aa2c7abc1144', 'versionType': 'git'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '5.8'}, {'status': 'unaffected', 'version': '0', 'lessThan': '5.8', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '6.6.140', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.86', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.27', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.4', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['lib/test_hmm.c'], 'defaultStatus': 'affected'}]
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 14, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 08, 2026

    Action Type Old Value New Value
    Added Description In the Linux kernel, the following vulnerability has been resolved: lib: test_hmm: evict device pages on file close to avoid use-after-free Patch series "Minor hmm_test 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 dmirror_fops_release() 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 zone_device_data pointer to the freed dmirror. If a subsequent fault occurs on those pages (eg. during coredump) the dmirror_devmem_fault() callback dereferences the stale pointer causing a kernel panic. This was reported [1] when running mm/ksft_hmm.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 dmirror_device_evict_chunk() for each devmem chunk in dmirror_fops_release() 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.
    Added Reference https://git.kernel.org/stable/c/38f113f81d3f0adc658a4475dd3ecaec985e21d3
    Added Reference https://git.kernel.org/stable/c/5846715b6382dd4c6a69b35a56ca6115d33bc2a0
    Added Reference https://git.kernel.org/stable/c/744dd97752ef1076a8d8672bb0d8aa2c7abc1144
    Added Reference https://git.kernel.org/stable/c/9de1eb0aac2862d6144b8db0ec1388e79f8bc3e1
    Added Reference https://git.kernel.org/stable/c/bf477abd448c76bb8ea51c9b4f63a3a17c4b6239
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.