PT-2026-90728 · Webassembly+3 · Wabt
CVE-2026-90648
·
Publicado
2026-09-12
·
Atualizado
2026-09-22
CVSS v4.0
7.1
Alta
| Vetor | AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:H/SC:N/SI:H/SA:H |
Nome do Software Vulnerável e Versões Afetadas
WebAssembly wabt versões anteriores a 1.0.42
Description
Um problema no wasm2c permite a evasão de sandbox, principalmente em plataformas de 32 bits, através de um método conhecido como ataque de inversão de tabela (table flip). A função
wasm rt allocate funcref table() em wasm2c/wasm-rt-impl-tableops.inc não verifica o valor de retorno de calloc(). Se a alocação da tabela funcref falhar, table->data permanece NULL enquanto table->size mantém a contagem de elementos declarada pelo convidado. Consequentemente, as verificações de limite são ignoradas e os acessos aos elementos da tabela resolvem-se em endereços de memória absolutos. Isso permite a leitura e escrita arbitrária na memória do processo hospedeiro e a execução arbitrária de código via table.get, table.set e call indirect, comprometendo o isolamento fornecido pelo wasm2c. Isso afeta aplicações que utilizam o wasm2c como limite de sandbox, como RLBox e WasmBoxC, incluindo a implementação do Firefox para as bibliotecas Graphite, Hunspell, Ogg, Expat e Woff2. A exploração geralmente requer a falha de alocação devido à pressão de memória, limitações de hosts de 32 bits, limites de espaço de endereçamento (RLIMIT AS) ou configurações específicas do kernel, como vm.overcommit memory=2.Recommendations
Atualize o WebAssembly wabt para a versão 1.0.42 ou posterior.
Exploit
Correção
Unchecked Return Value
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Wabt