Security Weekly: React2Shell
📬 Ben ritrovato caro cyber User. In questa puntata parliamo di React2Shell (CVE-2025-55182), una vulnerabilità che ridefinisce il concetto di rischio nell’ecosistema JavaScript moderno. Non stiamo parlando di un semplice bug, ma di una falla di “unsafe deserialization” (deserializzazione non sicura) con il punteggio massimo di gravità: CVSS 10.0.Il problema risiede nel cuore dei React Server Components (RSC). Se la tua applicazione utilizza React 19.x o Next.js 15.x / 16.x con l’App Router, sei potenzialmente esposto. Il dettaglio più allarmante? Non è necessario che tu stia utilizzando esplicitamente le “Server Functions”; è sufficiente che l’applicazione supporti i Server Components affinché un attaccante possa eseguire codice arbitrario (RCE) da remoto senza alcuna autenticazione.Iscriviti oraCome funziona l’exploitReact utilizza un protocollo chiamato “Flight Protocol” per serializzare i dati e trasmetterli tra server e client. L’exploit React2Shell non è un singolo errore, ma una catena sofisticata di manipolazioni che trasforma questo flusso di dati in un’arma.Ecco una “Kill Chain” tecnica:Path Traversal e Prototype Chain: l’attaccante invia un payload che abusa della risoluzione dei riferimenti. Utilizzando una stringa come $1:constructor:constructor, riesce a risalire la catena dei prototipi dell’oggetto fino a ottenere l’accesso al costruttore globale Function. Questo è il primo passo per trasformare una stringa in codice eseguibile.Fake Chunk Injection (l’inganno): il server React si aspetta dei “chunk” (pezzi di dati) validi. L’attaccante inietta un oggetto JSON contraffatto (un “fake chunk”) che contiene un riferimento circolare a se stesso (es. $@0). Impostando attributi specifici come “status”: “resolved_model” e un then malevolo ($1:__proto__:then), l’attaccante inganna il server facendogli trattare questo oggetto falso come un componente React legittimo pronto per essere processato.Abuso dell’handler $B: il colpo di grazia avviene sfruttando un gesto
Questa voce ha un allegato (spesso audio podcast) sul sito originale — Itagora non lo scarica sul browser del visitatore.
Itagora tiene in archivio titolo e sommario per la ricerca interna. Il testo completo resta sulla fonte. Il link in uscita non invia referrer.