CVEvulnerability

CVE-2025-22045

5.5 MEDIUM Published 2025-04-16 Modified 2026-10-15 Official page ↗
Status
Modified
Published
2025-04-16
Last modified
2026-10-15
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 (416baaa9-dc9f-4396-8d5f-8c081fb06d67)
7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

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/[email protected]/>) would probably be making the impact of this a lot worse.

Affected configurations

• linux linux kernel (>= 4.20 < 5.4.292) • linux linux kernel (>= 5.5 < 5.10.236) • linux linux kernel (>= 5.11 < 5.15.180) • linux linux kernel (>= 5.16 < 6.1.134) • linux linux kernel (>= 6.2 < 6.6.87) • linux linux kernel (>= 6.7 < 6.12.23) • linux linux kernel (>= 6.13 < 6.13.11) • linux linux kernel (>= 6.14 < 6.14.2)

References