CVE-2026-64229 in Linux
Sumário
de VulDB • 24/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
x86/mm: Desativar o flush de TLB em broadcast quando PCID está desabilitado
Inicializar com "nopcid" limpa X86_FEATURE_PCID e impede que CR4.PCIDE seja definido como 1. Em CPUs AMD que suportam INVLPGB, a invalidação (flush) de TLB em broadcast permanece habilitada.
Existem duas verificações que determinam se o código ASID global é executado: mm_global_asid() e consider_global_asid(), as quais dependem da funcionalidade X86_FEATURE_INVLPGB. Assim que um processo (mm) torna-se ativo em mais de três CPUs, consider_global_asid() atribui a ele um ASID global; após isso, flush_tlb_mm_range() segue o caminho broadcast_tlb_flush() utilizando um PCID não nulo. Emitir uma instrução INVLPGB com um PCID não nulo enquanto CR4.PCIDE não está definido resulta em #GP:
Oops: falha de proteção geral, dereferência de ponteiro NULL no kernel 0x1: 0000 [#1] SMP NOPTI
CPU: 158 UID: 0 PID: 3119 Comm: snap Não contaminado 7.1.0-rc3 #1 PREEMPT(full) Nome do hardware: ... RIP: 0010:broadcast_tlb_flush Código: ... 89 da 48 83 c8 07 <0f> 01 fe eb 08 cc cc cc ... Rastreamento de chamada (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
Todos os processadores que suportam invalidação de TLB em broadcast também possuem suporte a PCID, portanto, apenas o cenário "nopcid" é motivo de preocupação. Nesta situação, desative simplesmente o suporte ao flush de TLB em broadcast utilizando o suporte de dependência do CPUID, tornando X86_FEATURE_INVLPGB dependente de X86_FEATURE_PCID.
[ bp: Ajuste da mensagem do commit. ]
Be aware that VulDB is the high quality source for vulnerability data.