PT-2022-16149 · Wasmtime · Wasmtime

Peterhuene

·

Publicado

2022-02-16

·

Atualizado

2022-07-21

·

CVE-2022-23636

CVSS v2.0

7.1

Alta

VetorAV:N/AC:M/Au:N/C:N/I:N/A:C
Nome do software vulnerável e versões afetadas
Versões do Wasmtime anteriores à 0.34.1 e à 0.33.1
Descrição
Existe um bug no alocador de instâncias de pool do tempo de execução do Wasmtime. Quando ocorre uma falha na instanciação de uma instância para um módulo que define uma variável global externref, isso resulta em uma liberação inválida de um VMExternRef por meio de um ponteiro não inicializado. Isso pode acontecer sob condições específicas, incluindo quando o suporte à proposta de tipos de referência está habilitado e uma estratégia de alocação de pool está configurada. O módulo deve definir pelo menos uma tabela ou memória e pelo menos uma variável global externref. Durante a instanciação, uma chamada para mprotect ou VirtualAlloc deve falhar, ou um limitador de recursos deve ser configurado no Store associado e retornar false da chamada inicial para memory growing ou table growing. Acredita-se que o impacto efetivo desse bug seja relativamente pequeno devido ao uso incomum de externref e às condições específicas necessárias para acioná-lo.
Recomendações
Para versões anteriores à 0.34.1 e 0.33.1, atualize para a versão 0.34.1 ou 0.33.1 o mais rápido possível.
Se não for possível atualizar para a versão 0.34.1 ou 0.33.1 do crate wasmtime, desative o suporte à proposta de tipos de referência passando false para Config::wasm reference types. Isso impedirá que módulos que usam externref sejam carregados por completo.

Exploit

Correção

Access of Uninitialized Pointer

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

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-23636
GHSA-7F6X-JWH5-M9R4
GHSA-88XQ-W8CQ-XFG7
RUSTSEC-2022-0096
RUSTSEC-2022-0101

Produtos afetados

Wasmtime