Skip to content

Fix React Server Components RCE vulnerability#499

Closed
vercel[bot] wants to merge 0 commit intomainfrom
vercel/react-flight-nextjs-rce-vulner-tuv38x
Closed

Fix React Server Components RCE vulnerability#499
vercel[bot] wants to merge 0 commit intomainfrom
vercel/react-flight-nextjs-rce-vulner-tuv38x

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 code-graph. 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

@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)
code-graph Ready Ready Preview Comment Dec 8, 2025 4:05pm

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 8, 2025

Warning

Rate limit exceeded

@gkorland has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 28 minutes and 58 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 769659d9-80c1-4291-86a7-3bbfe0aeb896

📥 Commits

Reviewing files that changed from the base of the PR and between 85cf61d and 7829b57.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch vercel/react-flight-nextjs-rce-vulner-tuv38x

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gkorland
Copy link
Contributor

@CodeRabbit review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 21, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s Next.js-related dependencies in package.json to versions intended to remediate the reported React Server Components RCE vulnerability affecting Next.js deployments.

Changes:

  • Bump next from ^15.1.2 to 15.1.9
  • Bump eslint-config-next from ^15.1.2 to 15.1.9

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

package.json Outdated
"clsx": "^2.1.0",
"lucide-react": "^0.441.0",
"next": "^15.1.2",
"next": "15.1.9",
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

next is now pinned to an exact version while the rest of the dependencies use semver ranges. Pinning can prevent automatically receiving future patch/security releases; consider using a range (e.g., ^15.1.9) and relying on the lockfile for reproducibility unless you have a specific reason to hard-pin.

Suggested change
"next": "15.1.9",
"next": "^15.1.9",

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment is no longer applicable. After rebasing onto main, this PR produces an empty diff — the project has migrated from Next.js to Vite, so next is no longer a dependency. The vulnerability CVE-2025-55182 / CVE-2025-66478 no longer affects this project.

package.json Outdated
"@types/react-syntax-highlighter": "^15.5.13",
"eslint": "^9",
"eslint-config-next": "^15.1.2",
"eslint-config-next": "15.1.9",
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as next, eslint-config-next is pinned to an exact version whereas other devDependencies use semver ranges. Consider switching to a range (e.g., ^15.1.9) so patch-level security fixes can be picked up without editing package.json each time.

Suggested change
"eslint-config-next": "15.1.9",
"eslint-config-next": "^15.1.9",

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment is no longer applicable. After rebasing onto main, this PR produces an empty diff — the project has migrated from Next.js to Vite, so eslint-config-next is no longer a dependency.

package.json Outdated
Comment on lines 26 to 29
"next": "15.1.9",
"playwright": "^1.49.1",
"react": "^18",
"react-dom": "^18",
Copy link

Copilot AI Mar 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description says this upgrades "React and Next.js packages", but this diff only changes next / eslint-config-next while leaving react and react-dom ranges unchanged. Either update the PR description to reflect what's actually changing, or pin/raise react and react-dom to the known-patched minimum versions for this advisory if they are also in scope.

Copilot uses AI. Check for mistakes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This observation is now moot. After rebasing onto main, this PR produces an empty diff — the project has fully migrated from Next.js to Vite, removing both next and eslint-config-next from the dependency tree. The React Server Components RCE vulnerability (CVE-2025-55182 / CVE-2025-66478) no longer affects this project.

@gkorland gkorland closed this Mar 22, 2026
@gkorland gkorland force-pushed the vercel/react-flight-nextjs-rce-vulner-tuv38x branch from 7829b57 to 4e3c11c Compare March 22, 2026 16:11
@gkorland
Copy link
Contributor

Agent Review Summary

Rebase Result

After rebasing onto main, this PR produces an empty diff (0 files changed). The project has fully migrated from Next.js to Vite since this PR was opened:

  • next is no longer a dependency (replaced by vite)
  • eslint-config-next is no longer a dependency
  • React Server Components are no longer used

Vulnerability Assessment

The React Server Components RCE vulnerability (CVE-2025-55182 / CVE-2025-66478) no longer affects this project because Next.js has been completely removed from the dependency tree.

Review Comments Addressed

All 3 Copilot review comments were replied to, explaining the migration context:

  1. next version pinning → N/A, next removed entirely
  2. eslint-config-next version pinning → N/A, removed entirely
  3. React/react-dom not upgraded → N/A, Next.js no longer used

Recommendation

This PR should be closed as the underlying vulnerability no longer applies. No code changes are needed.

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.

2 participants