CVE-2026-64229CWE-476

CVE-2026-64229

Medium · published July 24, 2026

CVSS v3.1
5.5
EPSS
0%
Percentile
4.8
In the wild
Unconfirmed
What it is

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

x86/mm: Disable broadcast TLB flush when PCID is disabled

Booting with "nopcid" clears X86_FEATURE_PCID and keeps CR4.PCIDE from being

set to one. On AMD CPUs that support INVLPGB, broadcast TLB flushing remains

enabled.

There are two checks that decide whether the global ASID code runs,

mm_global_asid() and consider_global_asid(), that key off of the

X86_FEATURE_INVLPGB feature. Once an mm becomes active on more than three

CPUs, consider_global_asid() assigns it a global ASID, after which

flush_tlb_mm_range() takes the broadcast_tlb_flush() path using a non-zero

PCID. Issuing an INVLPGB with a non-zero PCID while CR4.PCIDE is not set

results in a #GP:

Oops: general protection fault, kernel NULL pointer dereference 0x1: 0000 [#1] SMP NOPTI

CPU: 158 UID: 0 PID: 3119 Comm: snap Not tainted 7.1.0-rc3 #1 PREEMPT(full)

Hardware name: ...

RIP: 0010:broadcast_tlb_flush

Code: ... 89 da 48 83 c8 07 <0f> 01 fe eb 08 cc cc cc ...

Call Trace:

<TASK>

flush_tlb_mm_range

ptep_clear_flush

wp_page_copy

? _raw_spin_unlock

__handle_mm_fault

handle_mm_fault

do_user_addr_fault

exc_page_fault

asm_exc_page_fault

All processors that support broadcast TLB invalidation also have PCID support,

so it is only the "nopcid" scenario that is of concern. In this situation just

disable the broadcast TLB support using the CPUID dependency support by making

X86_FEATURE_INVLPGB dependent on X86_FEATURE_PCID.

[ bp: Massage commit message. ]

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00160 · 4.8th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2026-07-24T20:16Z
Affected products (6)
ProductVersionsFixed in
linux/linux_kernel≥ 6.15, < 6.18.356.18.35
linux/linux_kernel≥ 6.19, < 7.0.117.0.11
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (3)
EPSS history
Timeline
  • 24 JUL 15:23Z
    x86/mm: Disable broadcast TLB flush when PCID is disabled
    cvelistv5