PT-2022-16149 · Wasmtime · Wasmtime
Peterhuene
·
Publicado
2022-02-16
·
Atualizado
2022-07-21
·
CVE-2022-23636
CVSS v2.0
7.1
Alta
| Vetor | AV: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 👾
Identificadores relacionados
Produtos afetados
Wasmtime