Skip to content

Comments

Fix React Server Components RCE vulnerability#137

Merged
jaylong255 merged 1 commit intomainfrom
vercel/react-flightnextjs-rce-vulnera-41s36c
Dec 8, 2025
Merged

Fix React Server Components RCE vulnerability#137
jaylong255 merged 1 commit intomainfrom
vercel/react-flightnextjs-rce-vulnera-41s36c

Conversation

@vercel
Copy link
Contributor

@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 legend. 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 Update Report

## Summary
The Legend repository has been updated to address the React Flight / Next.js Remote Code Execution (RCE) advisory. The project was found to be vulnerable and has now been patched.

## Vulnerability Assessment

### Initial Status
- **Vulnerability Found**: Yes - Next.js 15.3.1 is affected by the RCE advisory
- **Scope**: Only Next.js packages needed updating; no React Flight packages present

### Patched Status
- **Status**: ✅ FIXED
- **Packages Updated**: 
  - `next`: 15.3.1 → 15.3.6 (Patched version)
  - `eslint-config-next`: 15.3.1 → 15.3.6 (Kept in sync with Next.js)

## Changes Made

### 1. package.json Updates
Updated the following dependencies to patched versions:

```json
{
  "next": "15.3.6",                    // was: 15.3.1
  "eslint-config-next": "15.3.6"       // was: 15.3.1
}
```

### 2. Lockfile Updates
Updated `package-lock.json` to reflect the new versions:
- All Next.js related packages bumped from 15.3.1 to 15.3.6
- Dependencies and integrity hashes updated accordingly

### 3. No Manual React Updates
Per the advisory guidelines for Next.js projects:
- `react` remains at `^19.0.0` (automatically managed by Next.js)
- `react-dom` remains at `^19.0.0` (automatically managed by Next.js)
- No React Flight packages detected or required

## Vulnerability Details

### What Was Fixed
- **CVE**: React Flight / Next.js RCE Advisory
- **Affected Minor Version**: 15.3.x
- **Required Patch**: 15.3.6
- **Original Version**: 15.3.1 (Vulnerable)

### Project Assessment
- **Framework**: Next.js 15.3.6 (patched)
- **Package Manager**: npm (lockfileVersion: 3)
- **Structure**: Single workspace (not a monorepo)
- **React Flight Usage**: None detected

## Verification

### Build Compatibility
- Next.js 15.3.6 accepts React ^18.2.0 || ^19.0.0
- Current React version (19.1.0) resolves safely
- No React Flight packages to verify

### Files Modified
1. `package.json` - Updated Next.js and eslint-config-next versions
2. `package-lock.json` - Updated to reflect dependency changes
3. `.vade-report` - This security assessment report

## Conclusion

The Legend repository has been successfully patched to address the React Flight / Next.js RCE advisory. The project is now running the secure version of Next.js 15.3.6, and all lockfiles have been updated accordingly. The repository is ready for deployment with this security fix applied.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
@vercel
Copy link
Contributor 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)
legend Ready Ready Preview Comment Dec 8, 2025 3:00pm

@jaylong255 jaylong255 marked this pull request as ready for review December 8, 2025 15:01
@jaylong255 jaylong255 merged commit 81e8e33 into main Dec 8, 2025
3 checks passed
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.

1 participant