CVE-2026-64229 in LinuxИнформация

Сводка

по VulDB • 25.07.2026

В ядре Linux устранена следующая уязвимость:

x86/mm: Отключить широковещательную инвалидацию TLB, когда PCID отключен

Загрузка с параметром «nopcid» очищает флаг X86_FEATURE_PCID и не позволяет установить бит CR4.PCIDE в единицу. На процессорах AMD, поддерживающих инструкцию INVLPGB, широковещательная инвалидация TLB остается включенной.

Существует две проверки, определяющие, будет ли выполняться код для глобального ASID: mm_global_asid() и consider_global_asid(), которые опираются на флаг X86_FEATURE_INVLPGB. Как только структура памяти (mm) становится активной более чем на трех процессорах, consider_global_asid() назначает ей глобальный ASID, после чего flush_tlb_mm_range() переходит по пути broadcast_tlb_flush() с использованием ненулевого PCID. Вызов INVLPGB с ненулевым PCID при невыставленном бите CR4.PCIDE приводит к ошибке #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

Все процессоры, поддерживающие широковещательную инвалидацию TLB, также имеют поддержку PCID, поэтому проблема актуальна только для сценария «nopcid». В этой ситуации следует просто отключить поддержку широковещательной инвалидации TLB, используя механизм зависимостей CPUID, сделав флаг X86_FEATURE_INVLPGB зависящим от флага X86_FEATURE_PCID.

[ bp: Отредактировано сообщение коммита. ]

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Ответственный

Linux

Резервировать

19.07.2026

Раскрытие

24.07.2026

Модерация

принято

Вход

VDB-382964

EPSS

0.00166

KEV

Нет

Деятельности

Низкий

Сектор

Pharma, Energy, ...

Источники

Do you want to use VulDB in your project?

Use the official API to access entries easily!