Javier Cabrera Arteaga

Pesquisador deKTH Royal Institute of Technology
#38619de 53,635
7.2CVSS total
Vulnerabilidades · 1
PT-2021-19817
7.2
2021-05-21
Cranelift · Cranelift · CVE-2021-32629
**Nome do software vulnerável e versões afetadas** Cranelift versão 0.73.0 **Descrição** Existe um bug no backend x64 do Cranelift que pode criar uma situação que resulte em uma possível fuga da sandbox em um módulo WebAssembly. O bug realiza uma extensão de sinal em vez de uma extensão de zero em um valor carregado da pilha sob circunstâncias específicas. Se essas circunstâncias ocorrerem, o bug pode permitir o acesso a endereços de memória de até 2 GiB antes do início da pilha alocada para o módulo WebAssembly. O impacto desse bug depende muito da implementação da pilha e é mitigado se não houver memória mapeada no intervalo acessível por meio desse bug. O problema ocorreria quando um valor `i32` é maior ou igual a `0x8000 0000`, o valor é transbordado e recarregado pelo alocador de registros, o valor é produzido por uma instrução “especial”, o valor é então estendido a zero para 64 bits e o valor de 64 bits resultante é usado. Nessas circunstâncias, há um potencial escape da sandbox quando o valor `i32` é um ponteiro. **Recomendações** Para resolver o problema, os usuários da versão 0.73.0 do Cranelift devem atualizar para a versão 0.73.1 ou 0.74. Os usuários do Cranelift anteriores à versão 0.73.0 devem atualizar para a versão 0.73.1 ou 0.74, caso não estivessem usando o backend padrão antigo. Como solução temporária, considere desativar o uso do novo backend até que um patch esteja disponível. Restrinja o acesso ao módulo vulnerável para minimizar o risco de exploração. Evite usar o valor `i32` no aff