PT-2022-20562 · Wasmtime · Wasmtime

Alexcrichton

·

Publicado

2022-07-12

·

Atualizado

2022-07-27

·

CVE-2022-31146

CVSS v3.1

8.8

Alta

VetorAV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do Wasmtime 0.37.0 a 0.38.1
Descrição
Existe um bug no gerador de código do Wasmtime, o Cranelift, em que funções que utilizam tipos de referência podem estar incorretamente sem os metadados necessários para a coleta de lixo em tempo de execução. Isso significa que, se ocorrer uma coleta de lixo em tempo de execução, a passagem de coleta de lixo irá erroneamente considerar que essas funções não possuem referências ativas a valores coletados, recuperando-os e desalocando-os. A função continuará então a usar os valores, assumindo que eles não foram recolhidos, levando posteriormente a um uso após liberação (use-after-free). Esse bug foi introduzido na migração para o alocador de registros regalloc2, que ocorreu na versão 0.37.0 do Wasmtime.
Recomendações
Para resolver o problema, atualize para a versão 0.38.2 do Wasmtime.
Como solução temporária, considere desativar a proposta de tipos de referência passando false para wasmtime::Config::wasm reference types.
Como alternativa, faça o downgrade para o Wasmtime 0.36.0 ou anterior.

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

CVE-2022-31146
GHSA-5FHJ-G3P3-PQ9G
RUSTSEC-2022-0100

Produtos afetados

Wasmtime