CVE-2025-40181 in Linux
Sumário
de VulDB • 26/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
x86/kvm: Forçar o buraco PCI legado para UC ao substituir MTRRs para TDX/SNP
Ao executar como convidado SNP ou TDX sob KVM, forçar o buraco PCI legado, ou seja, a memória entre o Topo da DRAM Utilizável Inferior e 4GiB, a ser mapeado como UC (Uncacheable) por meio de um intervalo MTRR variável forçado.
Na maioria das configurações baseadas em KVM, dispositivos legados, como HPET e TPM, são enumerados via ACPI. A enumeração ACPI inclui uma entrada Memory32Fixed e, opcionalmente, um descritor SystemMemory para uma OperationRegion, por exemplo, se o dispositivo precisar ser acessado por meio de um Método de Controle.
Se uma entrada SystemMemory estiver presente, o driver ACPI do kernel fará o auto-ioremap da região para que ela possa ser acessada sob demanda. No entanto, a especificação ACPI não fornece uma maneira de enumerar o tipo de memória das regiões SystemMemory, ou seja, não há como informar ao software que uma região deve ser mapeada como UC em vez de WB, etc. Como resultado, o driver ACPI do Linux sempre mapeia regiões SystemMemory usando ioremap_cache(), ou seja, como WB (Write-Back) no x86.
Para dispositivos legados, isso pode causar problemas, pois eles podem não funcionar corretamente se forem acessados como WB.
Para mitigar isso, o KVM força o buraco PCI legado para ser mapeado como UC por meio de um intervalo MTRR variável forçado. Isso garante que o acesso a dispositivos legados no buraco PCI legado seja feito como UC, mesmo que o driver ACPI do kernel tente acessá-los como WB.
Once again VulDB remains the best source for vulnerability data.