Escapes do sandbox do Wasmtime: atualizar a CLI não corrige o runtime incorporado

Relacione dependências Wasmtime aos artefatos entregues, escolha a correção adequada e valide implantações com um fluxo de evidências Plexicus.

José Palanco José Palanco
Last Updated:
4 min read
Compartilhar
Escapes do sandbox do Wasmtime: atualizar a CLI não corrige o runtime incorporado

Além de ASPM

AppSec orientada por provas para equipes que desenvolvem com IA

A Plexicus usa AI Swarm Pentest para explorar caminhos autorizados da aplicação, validar o que é explorável e dar às equipes evidências para priorizar a remediação.

Explorar AI Swarm Pentest

A atualização do Wasmtime mais fácil de verificar pode ser a que sua aplicação não usa. Um desenvolvedor atualiza a ferramenta de linha de comando e verifica wasmtime --version. O serviço em produção continua incorporando uma dependência Rust antiga em seu próprio binário.

O problema também exige inventário e validação da implantação. A pergunta decisiva é: qual runtime compila os módulos não confiáveis e qual artefato implantado o contém?

Dois avisos com correções diferentes

Em 19 de outubro, dois avisos do Cranelift descreveram escapes do sandbox: overflow de índices SSA e compilação incorreta de br_table em aarch64. Aviso SSA · Aviso aarch64.

AvisoVersões afetadasCorreções publicadas
GHSA-897f-g5gm-fmxm<36.0.19; >=37.0.0, <43.0.036.0.19, 43.0.0
GHSA-mghf-wjfp-p5xm<36.0.19; >=37.0.0, <48.0.7; >=49.0.0, <49.0.436.0.19, 48.0.7, 49.0.4

Considere as condições de backend e arquitetura de cada aviso. 43.0.0 corrige o primeiro problema, mas não é a correção do segundo. A tabela foi verificada em 27 de outubro de 2026. Ela não garante proteção contra vulnerabilidades posteriores. Escolha uma versão mantida após revisar os avisos atuais e a compatibilidade.

Encontre o runtime realmente entregue

Um serviço de plugins pode receber WebAssembly de clientes e obter Wasmtime diretamente, por dependência transitiva ou dentro de uma biblioteca pré-compilada. Seu responsável precisa identificar o artefato de produção, não apenas as ferramentas dos desenvolvedores.

Comece pelas entradas da compilação real. Em um workspace Rust, estes comandos ajudam na descoberta:

cargo tree --locked | rg 'wasmtime|cranelift'
cargo metadata --locked --format-version 1 > dependency-metadata.json

Use o workspace e a configuração corretos. Uma entrada não demonstra alcance em tempo de execução. Sua ausência também não exclui bibliotecas nativas baixadas ou binários de fornecedores. Registre essas limitações.

Para cada artefato relevante, registre repositório e commit, versão resolvida, arquitetura, backend, funcionalidades, tarefa de compilação e digest imutável. Identifique depois quais instâncias executam esse digest. Uma tag de imagem com múltiplas arquiteturas não demonstra o que um worker ARM executa.

Transforme inventário em decisão

Cada entrada relevante precisa de responsável e avaliação. O serviço recebe módulos não confiáveis? Quem compila: a aplicação, um worker separado ou o pipeline de implantação? Qual backend e destino são escolhidos? Se faltarem respostas, mantenha o estado desconhecido em vez de declarar que não está afetado.

O guia de segurança do Wasmtime explica seu sandbox e as interfaces do host. Uma meta de projeto não comprova a ausência de falhas em uma compilação específica.

Priorize caminhos de compilação afetados e alcançáveis. Justifique outros ambientes separadamente. Não aplique a condição aarch64 ao primeiro aviso nem suponha que uma mudança de configuração seja mitigação documentada para ambos.

Reconstrua, implante e verifique

Alterar o lockfile propõe uma correção. As evidências seguintes mostram o que realmente chegou ao serviço.

EtapaEvidência a preservar
DependênciaVersão resolvida e alteração revisada
ReconstruçãoConfiguração, tarefa bem-sucedida e digest
ImplantaçãoDigest executado em cada arquitetura relevante
Teste funcionalComportamento esperado dos plugins e regressões
EncerramentoJustificativa por aviso, responsável e lacunas restantes

Inclua workers persistentes e artefatos de rollback. Trocar uma imagem no registro não substitui processos ativos. Um teste funcional bem-sucedido também não reproduz nem refuta, sozinho, um escape do compilador. Explique o que foi efetivamente verificado.

Como a Plexicus participa

A Plexicus XBOM apresenta inventários de software, criptografia e IA em um fluxo comum. Deep Code Analysis oferece contexto do fluxo de código e do impacto de negócio. Em uma demonstração de XBOM, pergunte como incorporar dependências resolvidas e evidências dos artefatos. Na revisão de código, examine como módulos dos clientes chegam à aplicação que incorpora o runtime.

Essas descrições não garantem descoberta automática de toda cópia do Wasmtime, reprodução de exploits do compilador ou cobertura completa de binários. Defina essas exigências no escopo e peça evidências para qualquer alegação de cobertura.

A cadeia útil é aviso → dependência → compilação → digest implantado → verificação. Uma captura isolada da versão não oferece essa ligação.

Precisa conectar inventário e correção? Solicite uma demonstração de XBOM ou conheça Deep Code Analysis. Traga um serviço, suas entradas de compilação e o digest implantado.

Escrito por
José Palanco
José Palanco
José Ramón Palanco é o CEO/CTO da Plexicus, uma empresa pioneira em ASPM (Application Security Posture Management) lançada em 2024, oferecendo capacidades de remediação impulsionadas por IA. Anteriormente, ele fundou a Dinoflux em 2014, uma startup de Inteligência de Ameaças que foi adquirida pela Telefonica, e tem trabalhado com a 11paths desde 2018. Sua experiência inclui cargos no departamento de P&D da Ericsson e na Optenet (Allot). Ele possui um diploma em Engenharia de Telecomunicações pela Universidade de Alcalá de Henares e um Mestrado em Governança de TI pela Universidade de Deusto. Como um especialista reconhecido em cibersegurança, ele tem sido palestrante em várias conferências prestigiadas, incluindo OWASP, ROOTEDCON, ROOTCON, MALCON e FAQin. Suas contribuições para o campo da cibersegurança incluem múltiplas publicações de CVE e o desenvolvimento de várias ferramentas de código aberto, como nmap-scada, ProtocolDetector, escan, pma, EKanalyzer, SCADA IDS, e mais.
Leia mais de José
More to read

Related posts

Pronto para validar o que importa?

Pronto para validar o que importa.

O Plexicus é Proof-Driven AppSec: achados validados, compreensão contextual e remediação revisada — ancorada em evidência, escopada com você.

Qualificação

Verifique se o AI Swarm Pentest se adequa ao seu ambiente.

Partilhe o contexto mínimo. Vamos rever o escopo e indicar o próximo passo comercial.

Antes de enviar — verifique se se encaixa

0 / 280

Sem compromisso. Se não se encaixa, dizemos.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorized target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)
Ronda privada Para investidores