Voltar
Escapando do Firecracker a partir do userspace do guest

Coinspect demonstra escape de sandbox do Firecracker a partir do userspace do guest

Aprofundamento CEVIU

Aprofundamento

A Coinspect encadeou duas falhas no Firecracker. A primeira, CVE-2026-122192 (FC-05), parte do userspace do guest com root, sem exigir código no kernel do guest. O cenário afetado usa uma VM restaurada de snapshot com o backend File, mais um dispositivo balloon ou virtio-mem que permite ao guest pedir o descarte de memória. Para descartar páginas, o Firecracker tenta trocar o mapeamento do snapshot por memória anônima no mesmo endereço, via MAP_FIXED. Se a troca falha depois de o mapeamento antigo ser removido, o memory slot do KVM continua ativo e aponta para um endereço que o VMM depois reaproveita. O guest passa a ler e alterar memória viva do VMM. Na prova de conceito, a falha foi provocada por pressão de memória que consumiu o limite configurado por microVM.

A segunda, FC-03, exige código já rodando em uma thread do VMM. A política de seccomp permitia as chamadas de setup, registro e envio do io_uring, e um ring novo não herda as restrições dos rings criados pelo Firecracker. Com isso, o código no EventManager criou um socket, conectou a um listener no loopback do host e enviou uma mensagem, operação que a chamada direta de socket bloqueava com SIGSYS. O teste funcionou com o jailer sem --netns; com um namespace de rede dedicado, o resultado foi ENETUNREACH. A AWS trata o FC-03 como melhoria de defesa em profundidade, sem CVE própria, e a revisão do seccomp segue no PR #6287. Versões v0.23.0 a v1.16.1 são afetadas, e v1.16.2 e v1.17.0 corrigem o escape. A AWS afirma que serviços como o Lambda não são afetados.

Por que isso importa

Para quem opera Firecracker por conta própria, o ponto prático é checar a versão e se há restauração de snapshot com backend File combinada com balloon ou virtio-mem. Também vale conferir se o jailer roda com namespace de rede dedicado, já que isso mudou o resultado no teste. Para quem roda agentes de IA em sandboxes baseadas em microVM, a leitura é que a fronteira de isolamento depende de detalhes finos de memória e de política de syscalls, e o artigo não avalia as implantações de serviços de terceiros.

Linha do tempo

  1. O Firecracker incorpora o PR #6174, que corrige o bug de descarte de memória.

  2. Publicadas as versões v1.16.2 e v1.17.0 com o reparo.

  3. A Coinspect combina o escape com o FC-03 e envia mensagem de rede a um listener do host.

  4. A AWS publica a CVE-2026-122192, o GHSA-48ww-rqpp-2mgm e o boletim de segurança.

  5. A Coinspect demonstra o escape de sandbox do Firecracker a partir do userspace do guest.

Perguntas frequentes

Quais versões do Firecracker são afetadas pela CVE-2026-122192?

As versões v0.23.0 a v1.16.1. A correção está nas versões v1.16.2 e v1.17.0, que incluem o reparo do caminho de substituição de memória (PR #6174).

O AWS Lambda foi afetado?

Segundo o boletim de segurança da AWS, citado pela Coinspect, os serviços da AWS, incluindo o Lambda, não são afetados. Clientes desses serviços não precisam agir.

Qual é a condição para explorar o escape?

A VM precisa ter sido restaurada de snapshot com o backend File e ter um dispositivo balloon ou virtio-mem. O guest também precisa de root e de uma falha tardia no descarte de memória, que a Coinspect provocou com pressão de memória sob um limite por microVM.

O que é o FC-03 e ele terá CVE?

É um desvio da política de seccomp via io_uring, que só funciona com código já executando no VMM. A AWS o classifica como melhoria de defesa em profundidade e não pretende atribuir CVE. A proposta de redesenho está em revisão no PR #6287.

Fontes

Avalie este artigo:
Categoria
CEVIU Segurança da Informação
Publicado
06 de novembro de 2026
Editoria
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser