Skip to content

Conversation

@vercel
Copy link
Contributor

@vercel vercel bot commented Dec 5, 2025

A critical remote code execution (RCE) vulnerability in React Server Components, impacting frameworks such as Next.js, was identified in the project microfrontends-docs. 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 remediate the issue.

More Info

## React Flight / Next.js RCE Advisory - Patch Implementation

### Summary
Successfully patched the `microfrontends/nextjs-multi-zones` monorepo to address the React Flight / Next.js Remote Code Execution (RCE) vulnerability. The project uses Next.js 15.1.6 with React 19.0.0, both of which were affected by the advisory.

### Changes Made

#### Package.json Updates
The following package.json files were updated to use patched versions:

1. **`microfrontends/nextjs-multi-zones/apps/docs/package.json`**
   - Upgraded `next` from `15.1.6` to `15.1.9` (patched version for 15.1.x)
   - `react` and `react-dom` remain at `19.0.0` (Next.js manages React dependencies automatically)

2. **`microfrontends/nextjs-multi-zones/apps/marketing/package.json`**
   - Upgraded `next` from `15.1.6` to `15.1.9` (patched version for 15.1.x)
   - `react` and `react-dom` remain at `19.0.0` (Next.js manages React dependencies automatically)

3. **`microfrontends/nextjs-multi-zones/packages/eslint-config-custom/package.json`**
   - Upgraded `@next/eslint-plugin-next` from `15.1.6` to `15.1.9` (for consistency with Next.js version)

#### Dependency Verification
The project does **not** use any React Flight packages:
- `react-server-dom-webpack` - Not present
- `react-server-dom-parcel` - Not present
- `react-server-dom-turbopack` - Not present

These packages were therefore not modified, as per the advisory guidelines.

### Lockfile Updates
- **`microfrontends/nextjs-multi-zones/pnpm-lock.yaml`** was regenerated by running `pnpm install` to reflect the patched dependency versions.

### Build Verification
Both Next.js applications were successfully built with the patched dependencies:

1. **docs app** (`apps/docs`): ✓ Built successfully
   - Successfully compiled and generated static pages
   - No dependency-related errors

2. **marketing app** (`apps/marketing`): ✓ Built successfully
   - Successfully compiled and generated static pages
   - No dependency-related errors

### Rationale for Implementation Choices

1. **Next.js Version Upgrade**: Updated to `15.1.9` following the advisory's patch table for Next.js 15.1.x releases.

2. **React Version Unchanged**: Did not manually upgrade `react` and `react-dom` from `19.0.0` because:
   - The advisory specifies to let Next.js supply the correct React versions automatically
   - Next.js 15.1.9 handles React dependency management internally
   - Manual React upgrades are only needed for non-Next.js projects using react-server-dom-* packages

3. **Lockfile Updated**: Regenerated lockfile ensures all transitive dependencies are correctly resolved with the patched versions.

4. **All Apps Patched**: Both `docs` and `marketing` apps required updates, as they both depend on the vulnerable Next.js version.

### Project Details
- **Monorepo Root**: `microfrontends/nextjs-multi-zones/`
- **Package Manager**: pnpm@9.4.0
- **Affected Apps**: 2 (docs, marketing)
- **Build Status**: ✓ All builds successful

### Files Modified
- `microfrontends/nextjs-multi-zones/apps/docs/package.json`
- `microfrontends/nextjs-multi-zones/apps/marketing/package.json`
- `microfrontends/nextjs-multi-zones/packages/eslint-config-custom/package.json`
- `microfrontends/nextjs-multi-zones/pnpm-lock.yaml`

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

vercel bot commented Dec 5, 2025

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

Project Deployment Preview Comments Updated (UTC)
blob-starter Error Error Dec 5, 2025 10:47pm
blob-sveltekit Error Error Dec 5, 2025 10:47pm
build-output-api-serverless-functions Ready Ready Preview Comment Dec 5, 2025 10:47pm
cron Ready Ready Preview Comment Dec 5, 2025 10:47pm
edge-ab-testing-google-optimize Error Error Dec 5, 2025 10:47pm
edge-api-routes-hello-world Error Error Dec 5, 2025 10:47pm
edge-api-routes-query-parameters Error Error Dec 5, 2025 10:47pm
edge-functions-api-rate-limit-and-tokens Error Error Dec 5, 2025 10:47pm
edge-functions-basic-auth-password Ready Ready Preview Comment Dec 5, 2025 10:47pm
edge-functions-feature-flag-split Building Building Preview Comment Dec 5, 2025 10:47pm
edge-functions-i18n Ready Ready Preview Comment Dec 5, 2025 10:47pm
edge-functions-ip-blocking Building Building Preview Comment Dec 5, 2025 10:47pm
edge-functions-power-parity-pricing-strategies Building Building Preview Comment Dec 5, 2025 10:47pm
edge-geolocation-country-block Building Building Preview Comment Dec 5, 2025 10:47pm
edge-rewrites-upstash Error Error Dec 5, 2025 10:47pm
edge-user-agent-based-rendering Error Error Dec 5, 2025 10:47pm
example-auth-with-ory Error Error Dec 5, 2025 10:47pm
example-express-bun Ready Ready Preview Comment Dec 5, 2025 10:47pm
example-nitro-bun Ready Ready Preview Comment Dec 5, 2025 10:47pm
examples Building Building Preview Comment Dec 5, 2025 10:47pm
flags-sdk-growthbook Ready Ready Preview Comment Dec 5, 2025 10:47pm
hono Ready Ready Preview Comment Dec 5, 2025 10:47pm
hono-ai-sdk Ready Ready Preview Comment Dec 5, 2025 10:47pm
hono-mcp-example Ready Ready Preview Comment Dec 5, 2025 10:47pm
kv-redis-starter Building Building Preview Comment Dec 5, 2025 10:47pm
microfrontends-docs Ready Ready Preview Comment Dec 5, 2025 10:47pm
microfrontends-marketing Ready Ready Preview Comment Dec 5, 2025 10:47pm
mint-nft Ready Ready Preview Comment Dec 5, 2025 10:47pm
nitro-route-rules Building Building Preview Comment Dec 5, 2025 10:47pm
nodejs-api Building Building Preview Comment Dec 5, 2025 10:47pm
postgres-drizzle Error Error Dec 5, 2025 10:47pm
postgres-kysely Error Error Dec 5, 2025 10:47pm
postgres-pgvector Ready Ready Preview Comment Dec 5, 2025 10:47pm
postgres-prisma Error Error Dec 5, 2025 10:47pm
postgres-starter Error Error Dec 5, 2025 10:47pm
redirect-with-fallback Ready Ready Preview Comment Dec 5, 2025 10:47pm
rust-axum Ready Ready Preview Comment Dec 5, 2025 10:47pm
rust-hello-world Ready Ready Preview Comment Dec 5, 2025 10:47pm
saas-microservices-api-users Building Building Preview Comment Dec 5, 2025 10:47pm
saas-microservices-dashboard Building Building Preview Comment Dec 5, 2025 10:47pm
single-spa-root-microfrontend Ready Ready Preview Comment Dec 5, 2025 10:47pm
solutions-cms-contentstack-commerce Ready Ready Preview Comment Dec 5, 2025 10:47pm
solutions-microfrontends-docs Ready Ready Preview Comment Dec 5, 2025 10:47pm
solutions-nx-monorepo Building Building Preview Comment Dec 5, 2025 10:47pm
solutions-testing Ready Ready Preview Comment Dec 5, 2025 10:47pm
toolbar-statsig Building Building Preview Comment Dec 5, 2025 10:47pm
vercel-plus-fastapi Building Building Preview Dec 5, 2025 10:47pm
wasm-rust-hello-world Error Error Dec 5, 2025 10:47pm
wasm-rust-xor Error Error Dec 5, 2025 10:47pm

@socket-security
Copy link

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​next@​15.1.98325939870
Addednpm/​@​next/​eslint-plugin-next@​15.1.91001007399100

View full report

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