PT-2021-22469 · Wasmtime · Wasmtime

Fitzgen

·

Publicado

2021-09-17

·

Atualizado

2021-12-10

·

CVE-2021-39218

CVSS v3.1

6.3

Média

VetorAV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:H
Nome do software vulnerável e versões afetadas
Versões do Wasmtime de 0.19.0 a 0.29.0
Versões do Wasmtime de 0.26.0 a 0.29.0
Descrição
Existe uma vulnerabilidade de corrupção de memória no Wasmtime, que pode ser acionada ao executar Wasm que utilize externrefs. Isso pode resultar em um bug de liberação inválida e leitura e gravação fora dos limites. A vulnerabilidade pode ser explorada quando o host cria externrefs não nulos, o Wasmtime realiza uma coleta de lixo e há um quadro Wasm na pilha que está em um ponto seguro de coleta de lixo sem referências ativas. Além disso, há uma vulnerabilidade de confusão de tipos ao usar a API Linker com vários valores de Engine, o que pode resultar na chamada de uma função com o tipo errado. O impacto estimado desses bugs é relativamente pequeno devido ao uso raro de externrefs.
Recomendações
Para as versões 0.19.0 a 0.29.0 do Wasmtime, atualize para a versão 0.30.0 do Wasmtime.
Para as versões 0.26.0 a 0.29.0 do Wasmtime, como solução temporária, considere desativar a proposta de tipos de referência passando false para wasmtime::Config::wasm reference types até que um patch esteja disponível.
Se for necessário usar vários Engines, audite o código para garantir que Linker seja usado apenas com um Engine.

Correção

Memory Corruption

Use After Free

Out of bounds Read

Type Confusion

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2021-39218
GHSA-4873-36H9-WV49
GHSA-Q879-9G95-56MX
GHSA-V4CP-H94R-M7XF
PYSEC-2021-320
PYSEC-2021-321
PYSEC-2021-322
RUSTSEC-2021-0110

Produtos afetados

Wasmtime