Skip to content

Fix React Server Components RCE vulnerability#2

Open
vercel[bot] wants to merge 1 commit into
mainfrom
vercel/react-flightnextjs-rce-vulnera-j78zrt
Open

Fix React Server Components RCE vulnerability#2
vercel[bot] wants to merge 1 commit into
mainfrom
vercel/react-flightnextjs-rce-vulnera-j78zrt

Conversation

@vercel
Copy link
Copy Markdown

@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 brain-scale-crm. 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 Fix

### Summary
Fixed the React Flight / Next.js RCE vulnerability (CVE-2025-66478 / GHSA-9qr9-h5gf-34mp) in the BrainScale CRM frontend by upgrading Next.js to the patched version.

### Detection
Analyzed the monorepo structure and determined:
- **Backend** (`./backend/package.json`): Node.js/Express - NOT AFFECTED (no Next.js or React Flight packages)
- **Frontend** (`./frontend/web/package.json`): Next.js 16.x project - AFFECTED

### Changes Made

#### Modified Files
- `./frontend/web/package.json` - Upgraded Next.js packages:
  - `next`: 16.0.1 → 16.0.7 (patched version)
  - `eslint-config-next`: 16.0.1 → 16.0.7 (matched with next version)

#### Why These Changes
- The frontend uses Next.js 16.0.1, which is vulnerable to RCE in the React Flight protocol
- Next.js 16.x requires upgrade to 16.0.7 per the security advisory
- Following the advisory's guidance: For Next.js projects, React and React-DOM versions (19.2.0) are left untouched; Next.js will supply the correct patched versions automatically
- The project does not use standalone React Flight packages (react-server-dom-*), only Next.js which handles this internally

### Verification

1. **Dependency Installation**: Successfully installed npm dependencies
   - Lockfile created: `./frontend/web/package-lock.json`
   - 534 packages installed with 1 high severity vulnerability (unrelated xlsx package)

2. **Security Audit**: 
   - Before: CRITICAL vulnerability - "Next.js is vulnerable to RCE in React flight protocol"
   - After: Vulnerability resolved - npm audit no longer reports the Next.js RCE issue
   - Remaining vulnerability: xlsx package (unrelated to this advisory, pre-existing)

3. **Build Verification**: 
   - Next.js build completed successfully with no errors
   - All pages compiled correctly (mix of static and dynamic routes)

### No Changes to Backend
The backend does not use Next.js or any React Flight packages, so no changes were made to `./backend/package.json`.

### Lock File
Created `./frontend/web/package-lock.json` by running `npm install` after updating the package.json. The lockfile now locks Next.js to the patched version 16.0.7 and all dependencies resolve correctly.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
@vercel
Copy link
Copy Markdown
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)
brain-scale-crm Ready Ready Preview Comment Dec 8, 2025 6:28pm

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