Flag{Hack}

Publikovano 5. prosince 20254 min cteni

React2Shell: Co znamena zranitelnost v React Server Components

React2Shell je komunitni oznaceni pro kritickou zranitelnost v React Server Components. Tady je strucny prehled toho, koho se tyka a kde najdete oficialni navod Reactu na upgrade.

Co je React2Shell

React2Shell je komunitni oznaceni pro CVE-2025-55182, kritickou zranitelnost typu remote code execution v React Server Components bez potreby autentizace.

Podle oficialniho upozorneni Reactu problem souvisi s tim, jak React dekoduje payloady posilane na Server Function endpointy. Zranitelna muze byt i serverova aplikace, ktera vlastni Server Functions primo nepouziva, pokud podporuje React Server Components.

Koho se problem tyka

Prvni oficialni upozorneni Reactu uvadi, ze puvodni zranitelnost zasahovala verze 19.0.0, 19.1.0, 19.1.1 a 19.2.0 balicku react-server-dom-webpack, react-server-dom-parcel a react-server-dom-turbopack.

Dotcene mohou byt i frameworky a bundlery, ktere tyto balicky pouzivaji. React konkretne zminuje Next.js, nestabilni RSC API v React Routeru, Waku, Parcel RSC, Vite RSC plugin a Redwood SDK.

  • Aplikace bez serveru nejsou dotcene.
  • Aplikace bez React Server Components nejsou dotcene.
  • Tym by mel zkontrolovat i zavislosti spravovane frameworkem, ne jen horni react a react-dom verze.

Jak upgradovat na opravenou verzi

React vydal prvni opravy 3. prosince 2025 a potom dalsi bezpecnostni opravy 11. prosince 2025 a 26. ledna 2026, kdyz vyzkumnici nasli dalsi souvisejici problemy.

Podle aktualizace Reactu z 26. ledna 2026 jsou bezpecne backportovane verze 19.0.4, 19.1.5 a 19.2.4 pro dotcene RSC balicky. Pokud tyto balicky spravuje vas framework, ridte se jeho oficialnim postupem od React tymu a nesnazte se skladat kombinaci balicku odhadem.

Proc je to dulezite

React2Shell pripomina, ze React Server Components nejsou jen UI funkce, ale i soucast serveroveho attack surface. Kdyz vyjde bezpecnostni upozorneni, musi serverove React aplikace reagovat stejne rychle jako u jakekoli jine backend zavislosti.

Nejbezpecnejsi postup je brat oficialni React upozorneni jako zdroj pravdy a potom si overit, jaka opravena release line plati pro vas framework.