PT-2022-16882 · Wasmtime · Wasmtime
Publicado
2022-03-28
·
Atualizado
2024-06-15
·
CVE-2022-24791
CVSS v3.1
8.1
Alta
| Vetor | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do Wasmtime anteriores à 0.34.2
Versões do Wasmtime anteriores à 0.35.2
Descrição
Existe uma vulnerabilidade do tipo “use after free” no Wasmtime quando se executa Wasm que utiliza
externrefs e se habilita a interrupção de época no Wasmtime. O uso após liberação é causado pela falha do Cranelift em emitir mapas de pilha quando há pontos de segurança dentro de blocos frios. Os blocos frios ocorrem quando a interrupção de época está habilitada. Quando o Wasmtime eventualmente coletasse o lixo, ele não conseguiria encontrar referências ativas na pilha devido à falta dos mapas de pilha, consideraria que eram lixo sem referência e, portanto, as recuperaria. Então, após o término da coleta, o código Wasm poderia usar as referências recuperadas prematuramente, o que constitui um uso após liberação.Recomendações
Para versões anteriores à 0.34.2, atualize para a versão 0.34.2 ou posterior.
Para versões anteriores à 0.35.2, atualize para a versão 0.35.2 ou posterior.
Como solução temporária, considere desativar a proposta de tipos de referência Wasm definindo
config.wasm reference types(false).Como alternativa, desative a interrupção de época definindo
config.epoch interruption(false) se ela estava ativada anteriormente.Exploit
Correção
Use After Free
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Wasmtime