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

x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs

On the following path, flush_tlb_range() can be used for zapping normal
PMD entries (PMD entries that point to page tables) together with the PTE
entries in the pointed-to page table:

collapse_pte_mapped_thp
pmdp_collapse_flush
flush_tlb_range

The arm64 version of flush_tlb_range() has a comment describing that it can
be used for page table removal, and does not use any last-level
invalidation optimizations. Fix the X86 version by making it behave the
same way.

Currently, X86 only uses this information for the following two purposes,
which I think means the issue doesn't have much impact:

- In native_flush_tlb_multi() for checking if lazy TLB CPUs need to be
IPI'd to avoid issues with speculative page table walks.
- In Hyper-V TLB paravirtualization, again for lazy TLB stuff.

The patch "x86/mm: only invalidate final translations with INVLPGB" which
is currently under review (see
<https://lore.kernel.org/all/20241230175550.4046587-13-riel@surriel.com/>)
would probably be making the impact of this a lot worse.
Advisories
Source ID Title
Debian DLA Debian DLA DLA-4178-1 linux security update
Debian DLA Debian DLA DLA-4193-1 linux-6.1 security update
Debian DSA Debian DSA DSA-5907-1 linux security update
EUVD EUVD EUVD-2025-11250 In the Linux kernel, the following vulnerability has been resolved: x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs On the following path, flush_tlb_range() can be used for zapping normal PMD entries (PMD entries that point to page tables) together with the PTE entries in the pointed-to page table: collapse_pte_mapped_thp pmdp_collapse_flush flush_tlb_range The arm64 version of flush_tlb_range() has a comment describing that it can be used for page table removal, and does not use any last-level invalidation optimizations. Fix the X86 version by making it behave the same way. Currently, X86 only uses this information for the following two purposes, which I think means the issue doesn't have much impact: - In native_flush_tlb_multi() for checking if lazy TLB CPUs need to be IPI'd to avoid issues with speculative page table walks. - In Hyper-V TLB paravirtualization, again for lazy TLB stuff. The patch "x86/mm: only invalidate final translations with INVLPGB" which is currently under review (see <https://lore.kernel.org/all/20241230175550.4046587-13-riel@surriel.com/>) would probably be making the impact of this a lot worse.
Ubuntu USN Ubuntu USN USN-7585-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-2 Linux kernel (FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-3 Linux kernel (FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-4 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-5 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-6 Linux kernel (BlueField) vulnerabilities
Ubuntu USN Ubuntu USN USN-7585-7 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-2 Linux kernel (FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-3 Linux kernel (Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-4 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-5 Linux kernel (Intel IoTG) vulnerabilities
Ubuntu USN Ubuntu USN USN-7591-6 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-7592-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7593-1 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-7594-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7594-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7594-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7597-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7597-2 Linux kernel (Azure FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7598-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7602-1 Linux kernel (Xilinx ZynqMP) vulnerabilities
Ubuntu USN Ubuntu USN USN-7605-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7605-2 Linux kernel (Low Latency) vulnerabilities
Ubuntu USN Ubuntu USN USN-7606-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-7628-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-7640-1 Linux kernel (IoT) vulnerabilities
Ubuntu USN Ubuntu USN USN-7655-1 Linux kernel (Intel IoTG) vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-2 Linux kernel (Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-4 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-5 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-7835-6 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-7887-1 Linux kernel (Raspberry Pi Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-7887-2 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-7940-1 Linux kernel (Azure FIPS) vulnerabilities
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Mon, 03 Nov 2025 20:30:00 +0000


Fri, 31 Oct 2025 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Linux
Linux linux Kernel
Weaknesses NVD-CWE-noinfo
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel

Fri, 18 Apr 2025 02:45:00 +0000

Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Low


Wed, 16 Apr 2025 14:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs On the following path, flush_tlb_range() can be used for zapping normal PMD entries (PMD entries that point to page tables) together with the PTE entries in the pointed-to page table: collapse_pte_mapped_thp pmdp_collapse_flush flush_tlb_range The arm64 version of flush_tlb_range() has a comment describing that it can be used for page table removal, and does not use any last-level invalidation optimizations. Fix the X86 version by making it behave the same way. Currently, X86 only uses this information for the following two purposes, which I think means the issue doesn't have much impact: - In native_flush_tlb_multi() for checking if lazy TLB CPUs need to be IPI'd to avoid issues with speculative page table walks. - In Hyper-V TLB paravirtualization, again for lazy TLB stuff. The patch "x86/mm: only invalidate final translations with INVLPGB" which is currently under review (see <https://lore.kernel.org/all/20241230175550.4046587-13-riel@surriel.com/>) would probably be making the impact of this a lot worse.
Title x86/mm: Fix flush_tlb_range() when used for zapping normal PMDs
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2025-11-03T19:41:30.092Z

Reserved: 2024-12-29T08:45:45.810Z

Link: CVE-2025-22045

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2025-04-16T15:15:57.920

Modified: 2025-11-03T20:17:39.613

Link: CVE-2025-22045

cve-icon Redhat

Severity : Low

Publid Date: 2025-04-16T00:00:00Z

Links: CVE-2025-22045 - Bugzilla

cve-icon OpenCVE Enrichment

No data.

Weaknesses