Në komponentët serverikë të frameworkut web React (RSC, React Server Components) u eliminua një dobësi (CVE-2025-55182), e cila lejonte ekzekutimin e kodit të rastësishëm në server përmes dërgimit të një kërkese te përpunuesi serverik. Kësaj dobësie iu caktua niveli kritik i rrezikut (10 nga 10). Dobësia manifestohet në komponentët eksperimentalë react-server-dom-webpack, react-server-dom-parcel dhe react-server-dom-turbopack, të përdorur për të kryer funksione dhe për të formuar elemente ndërfaqe në server, e jo në anën e klientit.
Problemi shkaktohet nga deserializimi i pasigurt i të dhënave të marra në kërkesat HTTP për përpunuesit serverikë. Përdoruesit «vm#runInThisContext», «vm#runInNewContext», «child_process#execFileSync» dhe «child_process#execSync» mund të përdoren për të ekzekutuar komanda në sistem ose për të ekzekutuar kodin JavaScript në kontekstin e procesit aktual (duke kapërcyer izolimin sandbox). Gjithashtu është e mundur përdorimi i përpunuesve «fs#readFileSync» dhe «fs#writeFileSync» për të lexuar dhe shkruar skedarë të rastësishëm në сервере, sa i lejojnë të drejtat aktuale të aksesit. Nuk kërkohet autentifikim për sulm. Një prototip i eksploitit është në dispozicion. # Ekzekutimi i komandës whoami curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={"id":"child_process#execSync","bound":["whoami"]}’ # Ekzekutimi i kodit JavaScript 1+1 curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={"id":"vm#runInThisContext","bound":["1+1"]}’ # Leximi i skedarit /etc/passwd curl -X POST http://localhost:3002/formaction \ -F ‘$ACTION_REF_0=’ \ -F ‘$ACTION_0:0={"id":"fs#readFileSync","bound":["/etc/passwd","utf8"]}’
Përjetësia e sistemeve ndaj dobësive varet nga përdorimi i komponentëve serverikë te dobët react-server-dom-webpack, react-server-dom-parcel dhe react-server-dom-turbopack. Aplikacionet që nuk përdorin react-server nuk preken nga dobësia. Grada e mbulimit të dobësisë në sistemet e punës, në të cilat përdoret React, mbetet ende e paqartë. Nga njëra anë, React është një nga framework-ët më të njohur web (përdoret në rreth 6% të faqeve të internetit), dhe komponentët e dobët zhvillohen kryesisht në depo dhe përfshihen në lëshimet. Komponentët e dobët gjithashtu mbështeten në framework-et e bazuara në React, si Next.js dhe react-router. Sipas të dhënave të kompanisë Wiz Research, ekzemplarët e dobët janë identifikuar në 39% të mjediseve cloud të analizuara.
Nga ana tjetër, gjenerimi i përmbajtjes në server përmes React Server Komponentët janë një funksion që nuk përdoret shpesh (shumica e faqeve të React renderojnë ndërfaqen vetëm në anën e klientit), dhe komponentët e cenueshëm janë të shënuar si eksperimentale dhe nuk garantojnë funksionimin e saktë. Këta komponentë kanë një numër relativisht të vogël ngarkimesh direkte nga depoja NPM: react-server-dom-webpack — 670 mijë në javë, react-server-dom-parcel — 7 mijë dhe react-server-dom-turbopack — 32 mijë, për krahasim paketa NPM React ka 45 milion ngarkime në javë.
Cenueshmëria është e pranishme në versionet e React 9.0.0, 19.1.0, 19.1.1 dhe 19.2.0, dhe është rregulluar në përditësimet React 19.0.1, 19.1.2 dhe 19.2.1. Komponentët e cenueshëm përdoren gjithashtu në paketat Next.js (16 milion ngarkime në javë), react-router (20 milion ngarkime në javë), waku, @parcel/rsc, @vitejs/plugin-rsc dhe rwsdk.
Në framework-un Next.js, cenueshmëria (CVE-2025-66478) prek aplikacione që përdorin App Router dhe degët Next.js 15.x dhe 16.x. Kjo cenueshmëri supozohet të shfaqet në konfigurimin e paracaktuar të Next.js (aplikacioni standard, i krijuar nga mjeti create-next-app, është nën sulm). Përdoruesit rekomandohen të instalojnë sa më shpejt të jetë e mundur përditësimin Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 ose 16.0.7.
Burimi: opennet.ru
