Uma vulnerabilidade de corrupção de memória (CVE-2025-13016) afetou o motor WebAssembly do Firefox durante seis meses, permitindo potencial execução arbitrária de código em mais de 180 milhões de dispositivos.
O problema foi lançado em abril de 2025, mas escapou de revisões, testes automatizados e só veio à tona em outubro após análise do AISLE.
Como funciona o bug
A falha está relacionada a um erro de aritmética de ponteiro na classe StableWasmArrayObjectElements. Um comando std::copy misturou os tipos uint8_t* e uint16_t*, calculando incorretamente o número de elementos copiados.
Com isso, o motor do Firefox sobrescreve áreas de memória além do buffer alocado, abrindo caminho para possíveis ataques de execução remota de código e violação de sandbox.
O código ainda copiava informações da região errada, corrompendo metadados pertencentes ao sistema.
Cenário de exploração
Atacantes poderiam explorar esse bug forçando condições específicas, como pressão de memória elevada, para induzir o mecanismo de fallback vulnerável a manipular arrays WebAssembly maliciosos.
Isso tornou uma falha útil para ataques sofisticados contra usuários ou sistemas corporativos que não atualizaram o navegador.
Resposta e correção
A Mozilla agiu rapidamente o alerta — o bug foi relatado em 2 de outubro, confirmado dia 14 e corrigido no dia seguinte. Uma nova função segura garantiu a cópia correta e eliminou o risco de sobreescrever metadados.
A recomendação é atualizar imediatamente para o Firefox 145 ou ESR 140.5+, pois versões antigas permanecem vulneráveis.
Esse incidente ressalta a importância de revisões constantes, testes robustos e atualização dos navegadores para mitigar riscos crescentes em aplicações web modernas.
