Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-74939-escape-the-mac-n-cheese-box — Escalada de privilégios IPDL content-to-parent do Firefox (N-day, bug 2054416): PDocumentChannel forjado com RemoteTypeOverride -> posicionamento de processo privilegedabout, via injeção no caminho de envio mojo-port a partir de um processo de conteúdo comprometido | Kitploit
Ferramentas/GitHubGitHub/sneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box
Escalada de PrivilégiosFrameworks de ExploraçãoAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebExploração de Binários
GitHubsneakynachos/cve-2026-74939-escape-the-mac-n-cheese-box

CVE-2026-74939-escape-the-mac-n-cheese-box

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Escalada de privilégios IPDL content-to-parent do Firefox (N-day, bug 2054416): PDocumentChannel forjado com RemoteTypeOverride -> posicionamento de processo privilegedabout, via injeção no caminho de envio mojo-port a partir de um processo de conteúdo comprometido

Ver Repositório
1há 21h 23mAinda não revisado

CVE-2026-74939 — escalonamento de privilégios content→parent no Firefox

Prova de conceito para uma fuga de sandbox no Firefox 149.0a1 nightly (2fbc0748c4, pré-correção). Um processo de conteúdo comprometido forja uma mensagem IPDL que faz o parent carregar uma página em um processo privilegiado (privilegedabout).

Esta é a fuga de sandbox de estágio 2, projetada para ser encadeada após um RCE no processo de conteúdo (ex.: CVE-2026-2796).

O bug (Mozilla bug 2054416)

O processo parent desserializa um nsDocShellLoadState a partir de mensagens IPDL content→parent. A versão vulnerável não rejeita um campo RemoteTypeOverride definido pelo conteúdo, então o conteúdo pode escolher em qual tipo de processo uma navegação vai parar.

O correção (commit 3ec5c71b41bb, "Validate RemoteTypeOverride") faz o construtor do nsDocShellLoadState rejeitar qualquer override em um carregamento iniciado pelo conteúdo.

Quando o override é honrado — carga de documento about:blank, contexto de nível superior — IsolationOptionsForNavigation define o tipo remoto da carga para o valor do override, e a página é colocada em um processo privilegiado. Fronteira da sandbox violada.

Visão geral do exploit

O override viaja em PNecko::PDocumentChannel, uma mensagem que todo processo de conteúdo envia para cada carga de documento (DocumentChannelCreationArgs.loadState é um nsDocShellLoadState).

A entrega é a parte interessante: escritas cruas no socket de IPC são silenciosamente descartadas, porque mensagens IPDL agora viajam por portas mojo. Em vez disso, o PoC dirige o caminho real de envio a partir do JavaScript via chamadas nativas (usando a primitiva funcref do CVE-2026-2796):

  1. operator new — aloca um bloco no heap para o IPC::Message
  2. IPC::Message::Message(routing, type, capacity, flags) — placement ctor
  3. Pickle::WriteBytes — anexa o payload forjado
  4. MessageChannel::Send no canal PContent — framing mojo, roteamento de portas, e números de sequência são todos tratados nativamente

O payload (construído por forge.py) carrega RemoteTypeOverride = "privilegedabout", URI about:blank, um principal nulo, e valores vazados em tempo de execução (id do BrowsingContext, TriggeringRemoteType).

Arquivos

Execução

root@kitploit:~
./irun

Verificação

Logs do lado do parent (MOZ_LOG=ProcessIsolation:5,DocumentChannel:5) mostram a troca de processo para o processo privilegiado:

root@kitploit:~
V/ProcessIsolation using remote type override (privilegedabout) for load
I/ProcessIsolation Process Switch: Changing Remoteness from 'webIsolated=http://127.0.0.1' to 'privilegedabout'

Referências

  • Mozilla bug 2054416 — commit de correção 3ec5c71b41bb "Validate RemoteTypeOverride"
  • RCE no conteúdo do estágio 1: CVE-2026-2796
Baixar ferramenta
ArquivoFinalidade
privesc.htmlPágina do PoC, executada dentro do processo de conteúdo comprometido
forge.py / forge.jsonconstroem a mensagem IPDL forjada (autoverificável)
wasm-bytes.jsprimitivas do estágio 1: R/W arbitrário, chamadas funcref
mdrive.py / mdrive2.pyharness marionette para iniciar e dirigir o Nightly
irunexecução instrumentada: lldb anexado ao parent + evidência de MOZ_LOG
profile.user.jsprefs do perfil do Firefox (fission ativado, dump habilitado)
parse_dc.pyparser byte-exato para mensagens DocumentChannel capturadas
scan_sentinels.py / extract_fields.pyscanners de mapa de campos para capturas