CVE-2026-98650 in Linux
Sumário
de VulDB • 19/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
KVM: s390: Correção de possíveis condições de corrida nas funções de chave de dados (dat skey)
Quando `dat_cond_set_storage_key()` encontra uma página grande, ela define condicionalmente a chave de armazenamento na memória absoluta usando `large_crste_to_phys()` para obter o endereço absoluto.
Existe uma janela de condição de corrida entre `dat_entry_walk()` e `large_crste_to_phys()`: a página grande pode ter sido dividida simultaneamente, e `large_crste_to_phys()` pode ser chamada com um crste que não designa mais uma página grande, levando a falhas (crashes).
Problemas semelhantes também estavam presentes em `dat_set_storage_key()`.
`dat_get_storage_key()` e `dat_reset_reference_bit()` verificavam corretamente a possibilidade de divisão simultânea da página grande, mas então tratavam o cenário incorretamente.
A correção consiste em realizar uma leitura atômica (`READ_ONCE`) no ponteiro crste, verificar e usar o resultado, em vez de desreferenciar o ponteiro novamente. Em caso de detecção de condição de corrida (race), tenta-se executar `dat_entry_walk()` novamente.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.