Skip to content




React Server Components CVE-2026-23864: What you need to know

React Server Components CVE-2026-23864: What you need to know

A high-severity DoS vulnerability is affecting Next.js 13-16 and other RSC frameworks. Here's how to fix it fast.


Click me for the TL;DR (too long; didn't read)

React Server Components had a nasty DoS bug (CVE-2026-23864). Tons of React/Next.js versions are vulnerable. Fix = upgrade React/Next, not "trust the WAF." If your app dies, that's on you for not reading this sooner and patching.

If you woke up this morning to a Slack message from your security team, you're not alone. CVE-2026-23864 just dropped, and it's affecting pretty much every Next.js project running Server Components.

Before you panic: no, attackers can't run code on your server. But they can crash it. Let's break down what's happening and how to fix it.

What's the vulnerability?

The CVE addresses multiple denial of service vulnerabilities in React Server Components. A malicious actor can send specially crafted HTTP requests to your Server Function endpoints that cause:

  • Server crashes
  • Out-of-memory exceptions
  • Excessive CPU consumption

What makes this particularly nasty is the attack profile. According to the GitHub security advisory (opens in new tab):

  • Attack Vector: Network (remotely exploitable)
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None

Translation: anyone on the internet can crash your server without authentication, without tricking a user into clicking anything, and without much effort. The CVSS score is 7.5 (High), which is the security equivalent of "fix this before lunch."

This isn't the first RSC vulnerability

Here's the uncomfortable truth: this CVE is part of a pattern.

Back in December 2025, CVE-2025-55182 (opens in new tab) dropped with a CVSS 10.0 - a full-blown Remote Code Execution vulnerability in React Server Functions. That one let attackers run arbitrary code on your server. The React team patched it, but security researchers kept digging.

CVE-2026-23864 is the result of that continued scrutiny. The initial DoS fixes were incomplete, and multiple denial of service vectors still existed. When a critical vulnerability gets disclosed, researchers probe adjacent code paths looking for variant exploits. This is standard practice across the industry, and it's why we're seeing follow-up CVEs.

The takeaway? RSC security is still maturing. If you're running Server Components in production, you need to stay on top of patches.

No spam, only good stuff

Get security alerts before they hit the news

We monitor CVEs affecting Next.js and Sanity so you don't have to. When something drops, you'll know.

Profile 1
Profile 2
Profile 3
Profile 4
Profile 5

Am I affected?

You're affected if your project uses any of these packages:

  • react-server-dom-webpack
  • react-server-dom-parcel
  • react-server-dom-turbopack

Quick way to check:

bash
# npm
npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

# pnpm
pnpm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack

# yarn
yarn why react-server-dom-webpack

If you see any of these packages in versions 19.0.0 through 19.2.3, you're vulnerable.

Not affected? If your app doesn't use React Server Components or Server Functions, you're in the clear. Traditional client-side React apps without SSR aren't impacted.

What's affected?

React packages

PackageVulnerablePatched
react-server-dom-webpack19.0.0 – 19.2.319.0.4, 19.1.5, 19.2.4
react-server-dom-parcel19.0.0 – 19.2.319.0.4, 19.1.5, 19.2.4
react-server-dom-turbopack19.0.0 – 19.2.319.0.4, 19.1.5, 19.2.4

Frameworks

  • Next.js: 13.x, 14.x, 15.x, and 16.x
  • React Router (with RSC)
  • Waku
  • RedwoodSDK
  • Vite (with @vite/rsc-plugin)
  • Parcel (with @parcel/rsc)

If you're running React Server Components on any of these, assume you're affected until you verify otherwise.

The fastest fix

Stop reading and run this:

bash
# For Next.js projects
npx @next/codemod@canary upgrade latest

One command, and your coffee's still hot.

If you can't upgrade immediately

Vercel and Akamai (opens in new tab) have both deployed WAF rules to protect hosted projects. If you're on either platform, you've got some breathing room while you schedule the upgrade.

But here's the thing: WAF rules are a temporary mitigation, not a fix. The React team and framework maintainers are clear on this - you still need to update. Don't let the safety net become an excuse to delay.

If you're self-hosting without a WAF... well, you're on your own. Prioritise the upgrade. Or don't be on your own: incident response for exactly this is part of our Sanity support retainer.

Patched versions

FrameworkPatched versions
React19.0.4, 19.1.5, 19.2.4
Next.js 15.x15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.11, 15.5.10
Next.js 16.x16.0.11, 16.1.5

Pick the one that matches your current minor version and upgrade.

What if you're stuck on an older version?

We get it. Not everyone can upgrade on a whim. Legacy codebases, pending migrations, that one feature flag nobody wants to touch because "it works."

Here are your options:

  1. Upgrade to the nearest patched version - This is the path of least resistance. A patch version bump shouldn't break anything. (Famous last words, but still.)

  2. Hide behind a WAF - Vercel and Akamai have automatic protection. If you're on either platform, you're covered temporarily.

  3. Rate limit your Server Functions - Add aggressive rate limiting to your Server Action endpoints. Won't stop a determined attacker, but raises the bar.

  4. Actually, just upgrade - We've helped clients upgrade hundreds of Next.js projects. It's usually less painful than you think. We can do it for you if you're short on time.

If you're upgrading anyway, Next.js 16.2 includes the patched React versions and a bunch of performance improvements worth having.

Services
$ Next.js app development
Security patches, framework upgrades, and ongoing Next.js maintenance.
>Learn more

Why this matters for agencies

If you're an agency or consultancy, now's a good time to audit your client projects. A quick npm ls next or pnpm ls next will tell you where you stand.

For each affected project:

  1. Check the current Next.js version
  2. Identify the nearest patched version
  3. Test locally, then deploy

If you've got dozens of projects to update, this could take a while. Or you could reach out and let us handle the heavy lifting.

TL;DR

WhatDetails
CVE2026-23864
SeverityHigh (7.5)
ImpactDoS via memory exhaustion - server crashes, not RCE
Attack profileNetwork, low complexity, no auth required
FixUpgrade to patched React/Next.js
Fastest commandnpx @next/codemod@canary upgrade latest

Further reading

Frequently asked questions

What is CVE-2026-23864?
A high-severity (CVSS 7.5) set of denial of service vulnerabilities in React Server Components. Specially crafted HTTP requests to Server Function endpoints can crash the server, trigger out-of-memory exceptions or burn CPU. It is remotely exploitable with low complexity, no privileges and no user interaction, but it does not allow remote code execution.
Is my Next.js app affected by CVE-2026-23864?
If you use React Server Components or Server Functions on Next.js 13, 14, 15 or 16, assume yes until verified. Run 'npm ls react-server-dom-webpack react-server-dom-parcel react-server-dom-turbopack'; any version from 19.0.0 through 19.2.3 is vulnerable. Client-side React apps without SSR are not affected.
How do I fix CVE-2026-23864 in Next.js?
Run 'npx @next/codemod@canary upgrade latest'. If you need to stay on your current minor, upgrade to the nearest patched release: Next.js 15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.11 or 15.5.10, or Next.js 16.0.11 or 16.1.5. The patched React packages are 19.0.4, 19.1.5 and 19.2.4.
Does Vercel's WAF protect against CVE-2026-23864?
Vercel and Akamai both deployed WAF rules, so projects hosted there have temporary cover. The React team and framework maintainers are clear that this is a mitigation, not a fix, and you still need to upgrade. Self-hosted apps without a WAF have no safety net.
Which frameworks are affected besides Next.js?
React Router with RSC, Waku, RedwoodSDK, Vite with @vite/rsc-plugin, and Parcel with @parcel/rsc. The vulnerable packages are react-server-dom-webpack, react-server-dom-parcel and react-server-dom-turbopack.
How is CVE-2026-23864 related to CVE-2025-55182?
CVE-2025-55182, disclosed in December 2025, was a CVSS 10.0 remote code execution flaw in React Server Functions. Researchers kept probing nearby code paths after it was patched and found the initial DoS fixes were incomplete, which produced this follow-up CVE. Our takeaway is that RSC security is still maturing, so stay on top of patches.
What if I can't upgrade Next.js right away?
Rely on the Vercel or Akamai WAF temporarily, add aggressive rate limiting to Server Action endpoints to raise the bar, and schedule the patch bump as soon as possible. A patch version upgrade shouldn't break anything, and we have helped clients upgrade hundreds of Next.js projects.

About the author

Jono Alford

Founder of Roboto Studio, specializing in headless CMS implementations with Sanity and Next.js. A Sanity Pioneer and first-cohort Sanity Community Ambassador, focused on editorial experiences that help teams ship faster.



Related posts





Related videos





Get in touch

Tell us what you're building. We reply within one working day. Jono or someone on the team picks up every message personally.

By sending this you agree to our privacy policy. We only use your details to reply.