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-2025-55182 — Análise baseada em CodeQL da vulnerabilidade de poluição de protótipo CVE-2025-55182 em Componentes de Servidor React, com POC de exploração e consultas de detecção estática para travessia insegura de propriedades. | Kitploit
Ferramentas/GitHubGitHub/klassiker/cve-2025-55182
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoSegurança WebPapers e PesquisaAprendizado e Educação
GitHubklassiker/cve-2025-55182

CVE-2025-55182

Análise baseada em CodeQL da vulnerabilidade de poluição de protótipo CVE-2025-55182 em Componentes de Servidor React, com POC de exploração e consultas de detecção estática para travessia insegura de propriedades.

Ver Repositório
há 8 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

CVE-2025-55182

Aplicação Vulnerável

Construir e executar:

root@kitploit:~
docker compose build
docker compose run --rm --entrypoint 'npm install' node
docker compose run --rm --entrypoint 'npm run build' node
docker compose up

POC (de https://github.com/msanft/CVE-2025-55182):

root@kitploit:~
node poc.js

Experimentação com unbundled:

root@kitploit:~
yarn --immutable

node --conditions react-server app.js

CodeQL

Clone facebook/react e crie unbundled:

root@kitploit:~
yarn --immutable

yarn cross-env RELEASE_CHANNEL=experimental node ./scripts/rollup/build.js react-server-dom-webpack/ --type=NODE_DEV

cp ./build/node_modules/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js \
    codeql/${version}/

Prepare o CodeQL:

root@kitploit:~
codeql database create db -l javascript -s codeql

cd queries && codeql pack install

codeql query run ./queries/PrototypeTraversal.ql -d db

TAREFAS

  • Adicionar uma consulta para encontrar Promise.resolve(userData)
    • deve encontrar todas as funções async que resolvem com um objeto definido pelo usuário
    • este é o local imediato dos problemas de execução de código
  • Adicionar uma consulta para encontrar await non-native-promise
    • deve encontrar todos os awaits de funções que não retornam uma promise nativa
    • um chamador pode usar erroneamente await em um método que (às vezes) retorna dados brutos

Resultados

Ele capturou o uso corrigido em getOutlinedModel (adicionado hasOwnProperty.call) e o uso removido em createModelResolver (agora fulfillReference).

Não sei por que o primeiro e o segundo apontam para o mesmo local, enquanto o extraído em vuln.js não.

Exemplos

Em codeql/tests.js existem estas três variantes:

root@kitploit:~
var value = {};
for (let i = 0; i < path.length; i++) {
  value = value[path[i]] // VarAccess
}

var value = {};
for (let i = 0; i < path.length; i++) {
  let c = value[path[i]] // VarDecl
  value = c
}

var value = {};
for (let i = 0; i < path.length; i++) {
  let c
  c = value[path[i]] // use VarRef
  value = c
}

Referência: https://codeql.github.com/docs/codeql-language-guides/abstract-syntax-tree-classes-for-working-with-javascript-and-typescript-programs/

Baixar ferramenta
filenamesourcesink
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsparentObject[reference[key]]parentObject[reference[key]]Unsafe prototype traversal: Variable 'parentObject' is updated with its own property inside a loop.
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsparentObject[reference[key]]parentObject[reference[key]]Unsafe prototype traversal: Variable 'parentObject' is updated with its own property inside a loop.
./19.2.0/react-server-dom-webpack-server.node.unbundled.development.jsvalue[path[i]]value[path[i]]Unsafe prototype traversal: Variable 'value' is updated with its own property inside a loop.
./tests.jsvalue[path[i]]cUnsafe prototype traversal: Variable 'value' is updated with its own property inside a loop.
./tests.jsvalue[path[i]]cUnsafe prototype traversal: Variable 'value' is updated with its own property inside a loop.
./tests.jsvalue[path[i]]value[path[i]]Unsafe prototype traversal: Variable 'value' is updated with its own property inside a loop.
./vuln.jsparentObject[reference[key]]parentObject[reference[key]]Unsafe prototype traversal: Variable 'parentObject' is updated with its own property inside a loop.
./vuln.jsvalue[path[i]]value[path[i]]Unsafe prototype traversal: Variable 'value' is updated with its own property inside a loop.