Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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-61500 — PoC em Python e laboratório Docker para CVE-2026-61500: recupera o estado do PRNG do Rejetto HFS V8 para forjar um cookie de sessão de administrador e obter RCE via server_code. | Kitploit
Ferramentas/GitHubGitHub/aramosf/cve-2026-61500
Ataques de SenhaAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebVirtualização para SegurançaCriptografiaTestes de PenetraçãoAprendizado e EducaçãoRed TeamingLabs e Prática
GitHub
há 1 diaAinda 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
aramosf/cve-2026-61500

CVE-2026-61500

PoC em Python e laboratório Docker para CVE-2026-61500: recupera o estado do PRNG do Rejetto HFS V8 para forjar um cookie de sessão de administrador e obter RCE via server_code.

Ver Repositório

CVE-2026-61500: Falsificação de sessão do Rejetto HFS para RCE

Demonstração real no terminal

CVE-2026-61500 é uma vulnerabilidade de falsificação de sessão não autenticada no Rejetto HFS 3.0.0 até 3.2.0. O HFS gerava sua chave de assinatura do cookie de sessão do Koa com o Math.random() do JavaScript e expunha saídas do mesmo PRNG do V8 no handshake de login SRP não autenticado. Um atacante pode reconstruir o estado do PRNG, recuperar a chave de assinatura, forjar uma sessão de administrador e usar o recurso documentado de configuração server_code para executar JavaScript no lado do servidor.

Este repositório contém uma prova de conceito em Python e uma comparação descartável em Docker usando as imagens oficiais do HFS 3.2.0 e 3.2.1. A build de publicação é intencionalmente restrita a alvos HTTP na interface de loopback local.

Escopo

DeclaraçãoStatus
Recuperar o estado xorshift128+ do V8 a partir de respostas de login não autenticadasConfirmado
Recuperar a chave de assinatura de cookie ativa do HFSConfirmado
Forjar uma sessão aceita como administrador do HFSConfirmado
Executar um marcador server_code benigno no HFS 3.2.0 oficialConfirmado
Receber um reverse shell como root dentro da rede Compose isoladaConfirmado
Parar antes da falsificação de sessão no HFS 3.2.1 oficialConfirmado
Direcionamento ou persistência em toda a internetNão fornecido nem alegado

Processo de exploração

  1. Envie seis requisições não autenticadas à API loginSrp1 para a conta admin conhecida. Cada resposta vulnerável coloca um loggingIn.sid numérico e seu cookie de sessão assinado nos cabeçalhos Set-Cookie.
  2. Converta cinco doubles consecutivos em seus 53 bits visíveis do PRNG e faça força bruta nos onze bits baixos omitidos. Reverta e avance a recorrência xorshift128+ do V8 até que um estado interno satisfaça todos os valores observados.
  3. Reproduza os três blocos em base 36 usados pelo randomId(30) do HFS. O PoC considera o arredondamento da string mais curta do V8 e verifica os candidatos contra um HMAC hfs_http.sig observado, o que também identifica o deslocamento de inicialização.
  4. Assine uma sessão sintética contendo username: admin, depois chame get_config para provar que o cookie forjado tem acesso de administrador.
  5. Chame set_config com um pequeno módulo server_code. O payload padrão grava um marcador benigno em /data; está disponível apenas para o laboratório Docker em loopback.

Esta é uma cadeia HTTP de caixa preta: o PoC não lê arquivos, memória, variáveis de ambiente ou estado de processo do alvo. O conhecimento do código-fonte é usado para modelar o algoritmo vulnerável.

Versões afetadas e corrigidas

  • Afetadas: HFS 3.0.0 até 3.2.0.
  • Primeira versão corrigida: HFS 3.2.1.
  • Correção: 59472e534bf7e056d708382d02935c2eaf956927.

A correção substitui a chave de assinatura por 32 bytes do randomBytes() do Node.js e substitui o identificador numérico de login exposto por randomUUID(). Fornecer um valor explícito e forte de COOKIE_SIGN_KEYS mitiga a previsão da chave de assinatura, mas atualizar continua sendo a remediação recomendada.

Ambiente validado

  • Host: Linux 6.18.33.2-microsoft-standard-WSL2, x86_64.
  • Docker 29.7.2; Docker Compose v5.5.0; Python 3.14.4.
  • Imagem vulnerável: rejetto/hfs:v3.2.0, digest sha256:d6765e93b68de222583be7788afad699695fd08aa2f56377337f5139779e0746.
  • Imagem corrigida: rejetto/hfs:v3.2.1, digest sha256:61db4da1f494df254aa7f48889c676b424b413e45b7b92cf4276f4b8e632aaec.
  • Imagem de callback da demo: python:3.13-alpine, digest sha256:1a63a53928ce53d2b0baf08092a703f4840ac5dfbd61fd48802dbf48e08c801e.
  • Data do teste: 2026-09-26.

Ambos os serviços HFS se vinculam apenas ao loopback do host; o callback não publica nenhuma porta. O laboratório cria um administrador sintético porque loginSrp1 deve ser invocado para um nome de usuário existente; a senha não é conhecida nem usada pelo exploit.

Executar a comparação descartável

Os requisitos são Docker com Compose, Python 3.10 ou mais recente e curl.

root@kitploit:~
./verify.sh

O verificador remove apenas lab/runtime/vulnerable e lab/runtime/fixed, inicia ambas as imagens fixadas por digest, executa os controles positivo e negativo e para os contêineres por padrão. Use KEEP_LAB=1 ./verify.sh para deixar o laboratório em execução para inspeção.

Com o laboratório mantido, a invocação direta do marcador benigno é:

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --marker cve-2026-61500-rce-marker.txt

Para demonstrar a execução de comandos dentro do contêiner de laboratório controlado:

root@kitploit:~
python3 cve-2026-61500-poc.py \
  --target http://127.0.0.1:28182 \
  --command 'id > /data/cve-command-output.txt'

Qualquer hostname que não seja loopback, alvo HTTPS ou IP remoto é rejeitado pela validação de argumentos. O exploit modifica o server_code do HFS; use apenas o laboratório descartável ou um sistema para o qual você tenha autorização explícita.

A demo gravada vai um passo além: demo.sh inicia o serviço callback não exposto na rede Compose e usa --command para conectar um reverse shell Bash a ele. O callback envia apenas id, uname -a, pwd e exit, registra a transcrição em lab/runtime/ (ignorado) e encerra. Nenhuma porta de callback é vinculada ao host.

Resultado reproduzido

A execução real de 2026-09-26 recuperou um estado do PRNG e sua chave de assinatura, recebeu HTTP 200 para um get_config administrativo forjado, instalou o payload de marcador e observou CVE_2026_61500_RCE_CONFIRMED no contêiner vulnerável. Um controle separado --command 'id > /data/cve-command-output.txt' produziu uid=0(root) gid=0(root) groups=0(root) dentro desse contêiner oficial. O reverse shell gravado, apenas em Docker, retornou independentemente a mesma identidade root e o diretório de trabalho /data. Contra 3.2.1, a primeira resposta de login continha um UUID opaco e o PoC saiu com status 3 antes de tentar a falsificação de sessão. Veja docs/example-output.txt e docs/e2e-results.json.

Busca por exploit público

Em 2026-09-26, buscas exatas por CVE e por exploit/PoC foram executadas no SearchSploit (índice local do Exploit-DB), resultados web indexados pelo GitHub, Packet Storm, Exploit-DB e na web em geral. Nenhum exploit público funcional foi identificado nesse momento; os resultados encontraram apenas metadados de CVE/aviso e páginas de rastreamento de exploits. Este é um resultado datado e de melhor esforço, não uma afirmação de que nenhum exploit possa existir em outro lugar ou aparecer depois.

Créditos

  • Exploit: A. Ramos <[email protected]> (Twitter: @aramosf).
  • Descoberta da vulnerabilidade: Zach Hanley (@hacks_zach) da Horizon3.ai, em colaboração com Claude e Anthropic Research.
  • Correção: Massimo Melina / Rejetto.

Referências

  • Aviso da VulnCheck
  • Lançamento do HFS 3.2.1
  • Commit de correção upstream
  • Registro CVE-2026-61500

Aviso legal

Apenas para pesquisa de segurança autorizada, validação defensiva e educação. Você é responsável por obter permissão e cumprir a legislação aplicável.

Baixar ferramenta
--command