Uma falha chamada de GhostRace afeta todas as principais CPUs e ISAs e é considerada uma das mais graves por especialistas. A VUSec e a IBM Research Europe anunciaram as “Condições de Corrida Especulativa – Speculative Race Conditions (SRCs)”.
Segundo eles, esta é uma nova classe de vulnerabilidades em que primitivas de sincronização de threads usando ramificações condicionais podem ser microarquitetonicamente ignoradas em caminhos especulativos usando um ataque Spectre-V1. Os pesquisadores apelidaram CVE-2024-2193 como GhostRace e é dito que afeta todos os principais fornecedores de CPU.
GhostRace ou Speculative Race Conditions giram em torno de primitivas de sincronização de threads como mutexes e no contexto de ramificações condicionais com um ataque Spectre Variant One pode levar ao vazamento de informações do papel alvo.
Entre as principais conclusões na página GhostRace da VUSec:
“Nossa análise mostra que todas as outras primitivas comuns de sincronização do lado da escrita no kernel Linux são, em última análise, implementadas através de uma ramificação condicional e, portanto, são vulneráveis a condições de corrida especulativas.
…
Hardware: Confirmamos que todos os principais fornecedores de hardware são afetados por SRCs, uma vez que, independentemente da implementação de instrução de comparação e troca específica, a ramificação condicional a seguir está sujeita a (des)previsão de ramificação. Em outras palavras, todas as microarquiteturas afetadas pelo Spectre-v1 também são afetadas pelos SRCs.
Software: qualquer destino que dependa de ramificações condicionais para determinar se deve entrar em regiões críticas — um padrão de design comum que se estende muito além do Linux — é vulnerável aos SRCs.
Em resumo, qualquer software, por exemplo, sistema operacional, hipervisor, etc., implementando primitivas de sincronização por meio de ramificações condicionais sem qualquer instrução de serialização sobre isso e execução em qualquer microarquitetura (por exemplo, x86, ARM, RISC-V, etc.), que permite que ramificações condicionais sejam executadas especulativamente, é vulnerável a SRCs. Como em outros ataques de execução especulativa, isso permite o vazamento de dados do software alvo.
…
Para abordar a nova superfície de ataque, também propomos uma mitigação SRC genérica para serializar todas as primitivas de sincronização afetadas no Linux (ou seja, adicionar uma instrução lfence após o bloqueio cmpxchq na Figura 1). Nossa mitigação requer alterações mínimas no kernel (ou seja, 2 LoC) e incorre em apenas ?5% de sobrecarga de desempenho geomédio no LMBench.”
Falha GhostRace afeta todas as principais CPUs e ISAs
Os desenvolvedores do kernel Linux não planejam implementar a serialização proposta pelo pesquisador de primitivas de sincronização devido a preocupações de desempenho. Da mesma forma, o boletim de segurança da AMD sobre Condições de Corrida Especulativa observa que a AMD recomenda apenas seguir as orientações publicadas anteriormente sobre mitigações do Spectre.
Veremos se algo muda, mas a partir de agora, tanto os fornecedores de hardware quanto os desenvolvedores do kernel Linux upstream não sentem que é necessário dar novos passos em torno de GhostRace / Condições de Corrida Especulativa