Após a descoberta da vulnerabilidade AMD Inception na semana passada, outro bug relacionado à CPU AMD Zen veio à tona. Esse novo problema envolve uma falha na execução do divide by zero do AND Zen 1, que pode levar a vazamento de dados por meio desse bug de especulação DIV0. A solução inicial proposta envolvia a realização de uma divisão inócua de 0/1 dentro do manipulador de exceção #DE. No entanto, essa abordagem mostrou-se inadequada.
Borislav Petkov, um engenheiro da AMD Linux, apresentou um novo patch que reformula a solução alternativa original para o bug de especulação do AMD Zen 1 DIV0. Ele explica o novo patch da seguinte forma:
"Inicialmente, pensou-se que realizar uma divisão inócua no manipulador #DE resolveria o problema, evitando qualquer vazamento de dados antigos do divisor. No entanto, quando a falha é ativada, a especulação já avançou muito, e esses dados antigos poderiam ter sido utilizados por operações mais recentes.
Portanto, agora realizamos a divisão inócua em cada saída para o espaço do usuário, a fim de garantir que nenhum dado potencialmente antigo de divisões inteiras no espaço do kernel seja visível para o espaço do usuário. Fazemos o mesmo antes do VMRUN, para evitar que os dados do host vazem para o hóspede."
Esse novo patch, que executa uma operação fictícia 0/1 em todas as saídas para o espaço do usuário, foi incorporado no branch x86/urgent do repositório TIP.git. O patch será enviado nesta semana para o Kernel Linux 6.5-rc7 e, posteriormente, será portado para a série de kernels estáveis. A solução alternativa original e inadequada já havia sido implementada na série de kernels estáveis na semana passada.
Vale ressaltar que esse bug específico de divisão por zero afeta apenas processadores Zen 1 da AMD. Felizmente, a execução dessa operação fictícia 0/1 não traz consigo uma sobrecarga significativa, ao contrário de outras mitigações de segurança para problemas de CPU que foram implementadas recentemente.
Até a próxima !!
Nenhum comentário:
Postar um comentário