Skip to content

Fix React Server Components RCE vulnerability#1

Draft
vercel[bot] wants to merge 1 commit intomainfrom
vercel/react-flightnextjs-rce-advisor-cgxkxy
Draft

Fix React Server Components RCE vulnerability#1
vercel[bot] wants to merge 1 commit intomainfrom
vercel/react-flightnextjs-rce-advisor-cgxkxy

Conversation

@vercel
Copy link

@vercel vercel bot commented Dec 8, 2025

Important

This is an automatic PR generated by Vercel to help you with patching efforts. We can't guarantee it's comprehensive, and it may contain mistakes. Please review our guidance before merging these changes.

A critical remote code execution (RCE) vulnerability in React Server Components, impacting frameworks such as Next.js, was identified in the project arcane-todo-app. The vulnerability enables unauthenticated RCE on the server via insecure deserialization in the React Flight protocol.

This issue is tracked under:

This automated pull request upgrades the affected React and Next.js packages to patched versions that fully remediate the issue.

More Info | security@vercel.com

## React Flight / Next.js RCE Advisory Security Patch

**Status:** ✅ Security patches applied successfully

### Vulnerability Summary
The arcane-todo-app project was affected by the React Flight / Next.js RCE advisory (CVE-2025-66478 / CVE-2025-55182). The project uses Next.js 16.0.3, which contained a critical vulnerability in the React Server Components protocol.

### Analysis Results
- **Next.js dependency detected:** ✅ Yes (16.0.3 - VULNERABLE)
- **React Flight packages (react-server-dom-*):** ❌ No (not used)
- **React and React DOM versions:** ✅ 19.2.0 (No direct vulnerable versions - React 19.2.0 is patched)

### Changes Applied

#### Modified Files:
1. **package.json**
   - Upgraded `next` from `16.0.3` to `16.0.7` (dependencies section)
   - Upgraded `eslint-config-next` from `16.0.3` to `16.0.7` (devDependencies section)
   
   Rationale: Next.js 16.x requires upgrade to 16.0.7 for the security patch according to the official advisory.

2. **package-lock.json**
   - Automatically regenerated via `npm install`
   - Verified that lockfile now resolves to Next.js 16.0.7
   - All 514 packages resolved correctly with no vulnerabilities

### Patch Versions Applied
- Next.js: 16.0.3 → **16.0.7** (patched version for 16.x)
- eslint-config-next: 16.0.3 → **16.0.7** (aligned version)
- React: 19.2.0 (unchanged - no manual upgrade needed for Next.js projects)
- React DOM: 19.2.0 (unchanged - no manual upgrade needed for Next.js projects)

### Verification Steps Completed

1. ✅ **Package detection:** Confirmed Next.js 16.0.3 was vulnerable
2. ✅ **Version compatibility:** Applied correct patch version 16.0.7 for 16.x branch
3. ✅ **Dependency resolution:** Ran `npm install` successfully
4. ✅ **Lockfile verification:** Confirmed package-lock.json contains Next.js 16.0.7
5. ✅ **TypeScript compilation:** TypeScript compiler passes without errors (`npx tsc --noEmit`)
6. ✅ **ESLint configuration:** ESLint loads and runs successfully
7. ✅ **No new vulnerabilities:** npm audit reports 0 vulnerabilities

### Build Status
- The project has a pre-existing Supabase configuration requirement (missing environment variable) that prevents full production build, but this is unrelated to the security patches applied. This error exists in the original version as well.
- TypeScript compilation passes cleanly, indicating no type-safety issues with the upgraded dependencies.
- No breaking changes introduced by the patch upgrade.

### Why These Changes Were Made
According to the official React Flight / Next.js RCE advisory, Next.js versions 16.0.x needed to be upgraded to the patched version 16.0.7. This patch fixes a critical Remote Code Execution vulnerability in the React Server Components protocol that could allow attackers to execute arbitrary code on the server.

No changes were made to React or React DOM directly, as per the advisory guidance for Next.js projects - Next.js automatically manages the correct React versions through its own dependencies.

### Notes
- This is a single-package project (not a monorepo), so only one package.json required patching
- The project does not use experimental React Flight packages (react-server-dom-webpack, react-server-dom-parcel, or react-server-dom-turbopack), so Section 3 of the advisory did not apply
- All changes follow the upgrade rules specified in the React Flight advisory

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
@vercel
Copy link
Author

vercel bot commented Dec 8, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
arcane-todo-app Ready Ready Preview Comment Dec 8, 2025 9:22am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants