PT-2022-24951 · Wasmtime · Wasmtime

Alexcrichton

·

Publicado

2022-11-05

·

Atualizado

2023-06-27

·

CVE-2022-39392

CVSS v3.1

5.9

Média

VetorAV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
Nome do software vulnerável e versões afetadas
Versões do Wasmtime anteriores à 2.0.2
Descrição
Existe um bug na implementação do alocador de instâncias em pool do Wasmtime quando o alocador é configurado para atribuir às instâncias do WebAssembly um máximo de zero páginas de memória. Nessa configuração, o mapeamento de memória virtual para as memórias do WebAssembly não atendia aos requisitos de configuração exigidos pelo compilador para a execução segura de módulos do WebAssembly. As configurações padrão do Wasmtime exigem que falhas de página de memória virtual indiquem que as leituras/gravações do wasm estão fora dos limites, mas a configuração do alocador de pool não criaria um mapeamento de memória virtual apropriado para isso, o que significa que leituras/gravações fora dos limites podem ler/gravar com sucesso memória não relacionada à sandbox do wasm dentro do intervalo do endereço base do mapeamento de memória criado pelo alocador de pool. Este bug só pode ser acionado definindo InstanceLimits::memory pages como zero. Espera-se que essa seja uma configuração muito rara, já que isso significa que os módulos Wasm não podem alocar nenhuma página de memória linear. É altamente provável que todos os módulos Wasm produzidos por todas as cadeias de ferramentas atuais utilizem memória linear; portanto, é improvável que essa configuração seja definida como zero em qualquer incorporação do Wasmtime em produção.
Recomendações
Para resolver o problema, atualize para o Wasmtime 2.0.2.
Como solução alternativa temporária, considere aumentar a alocação de memory pages ao configurar o alocador de pool para um valor maior que

Exploit

Correção

Buffer Overflow

Out of bounds Read

Memory Corruption

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-39392
GHSA-44MR-8VMM-WJHG
RUSTSEC-2022-0076
RUSTSEC-2022-0102

Produtos afetados

Wasmtime