Kritická zraniteľnosť React Server Components umožňuje vykonávať kód

Vývojári platformy JavaScript React opravili kritickú zraniteľnosť v React Server Components, ktorá umožňuje vzdialené vykonávanie kódu na serveri. Zasiahnuté sú viaceré balíčky npm, vrátane platformy Next.js. Zraniteľnosť dostala pomenovanie React2Shell.

Zraniteľné systémy:

  • React Server Components (react-server-dom-parcel, react-server-dom-turbopack, react-server-dom-webpack) 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js verzie 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6 a staršie
  • Next.js verzie canary, od 14.3.0-canary.77
  • Platformy react-router, waku, @parcel/rsc, @vitejs/plugin-rsc, rwsdk, expo, …

Opis činnosti:

CVE-2025-55182 (CVSS skóre 10,0)

Vývojári platformy React opravili kritickú zraniteľnosť v React Server Components, ktorá vyplýva z nezabezpečenej deserializácie dát z klientskych požiadaviek HTTP na koncové body React Server Function. Zraniteľnosť dostala názov React2Shell. Zraniteľné sú balíčky react-server-dom-parcel, react-server-dom-turbopack a react-server-dom-webpack. Neautentifikovaný útočník môže vzdialene vykonávať kód na serveri. K tomu nepotrebuje interakciu obete.

Pre zraniteľnosť existuje verejne dostupný kód ukážky jej zneužitia.

Vývojári publikovali zoznam zraniteľných platforiem a bundlerov na báze React: next, react-router, waku, @parcel/rsc, @vitejs/plugin-rsc a rwsdk. Spoločnosť Tenable pridala platformu expo. Zraniteľnosť zasahuje prakticky všetky platformy využívajúce protokol React Flight.

Aplikácie s podporou React Server Components sú pravdepodobne zraniteľné, aj keď nepoužívajú Server Functions. Zraniteľnosť sa netýka aplikácií postavených na React, pokiaľ nepoužívajú server, platformu, bundler, alebo bundler plugin, ktoré podporujú React Server Components.

Možné škody:

  • Vzdialené vykonávanie kódu

Odporúčania:

Bezodkladná aktualizácia React aspoň na verzie 19.0.1, 19.1.2, alebo 19.2.1. Alternatívne, návrat ku najnovšej stabilnej verzii 14.x z verzií canary.

Pre aktualizáciu jednotlivých balíčkbov npm spojených z React, resp. platforiem, ktoré majú pribalené React Server Components , vrátane Next.js, nájdete návod na stránke vývojára.

Odkazy: