
PoC per CVE-2025-55183
Questo repository contiene strumenti di rilevamento per una vulnerabilità di divulgazione del codice sorgente
in Next.js React Server Components (RSC) / Server Actions, tracciata come
CVE-2025-55183.
Nelle applicazioni vulnerabili, una richiesta HTTP appositamente costruita verso una Server Function può causare la restituzione da parte del server dell'intero codice sorgente JavaScript di quella funzione quando il riferimento viene convertito in stringa (ad esempio, tramite template literal o coercizione implicita in query di database).
La correzione di React aggiunge un override di toString() per i riferimenti alle server function che restituisce una
stringa segnaposto costante invece del corpo reale della funzione. Le applicazioni
che eseguono build meno recenti possono ancora far trapelare il codice sorgente se i riferimenti alle server function vengono
convertiti direttamente o indirettamente in stringa e rispecchiati al client.
⚠️ Nota legale:
Questi strumenti sono destinati a test di sicurezza e ricerca su sistemi di tua proprietà o per i quali hai esplicitamente ricevuto autorizzazione a testare. Scansioni o sfruttamenti non autorizzati potrebbero essere illegali.
CVE-2025-55183.yaml_next/static/chunks/*.jsID: CVE-2025-55183
Componente: React Server Components / Server Actions nelle applicazioni Next.js
Impatto: Divulgazione del codice sorgente JavaScript lato server
Causa principale:
I riferimenti alle server function non sovrascrivevano toString(). Quando tale
riferimento veniva passato come argomento a codice che lo coercionava in stringa, il suo
codice sorgente completo poteva essere restituito al client (ad esempio, tramite un percorso di errore,
logging o logica di costruzione di query).
Correzione (upstream):
React ora installa un descrittore toString sui riferimenti alle server function che restituisce una
stringa segnaposto costante come:
function () { [omitted code] }
Questo impedisce che i corpi reali delle funzioni vengano esposti anche se convertiti in stringa.
Per i dettagli sulle modifiche sottostanti a React, vedi:
894bc73cb493487c48d57f4508e6278db58e673a