React2Shell: Unauthenticated RCE in React Server Components
If any server you run renders React Server Components and was not patched in December 2025, treat it as compromised until shown otherwise: patch, redeploy, and rotate its secrets.
Must act: Anyone running Next.js 15.x/16.x App Router (or 14.3 canaries), or another framework bundling react-server-dom-* 19.0.0-19.2.0, on a reachable server.
Can relax: Client-only React apps, Next.js Pages Router or Edge Runtime apps, Next.js 13.x/14.x stable, and React Native apps without server components.
- Inventory every app that ships react-server-dom-webpack/parcel/turbopack: npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack next
- Upgrade to the current patched line from React's advisory (for Next.js, e.g. npm install next@15.5.10 or next@16.1.5, or run npx fix-react2shell-next), rebuild and redeploy
- If the app was online and unpatched as of Dec 4, 2025, 1:00 PM PT, rotate every secret it can read, starting with the most critical