In short
- Affected:
next13.0.0 to 15.5.27 and 16.0.0 to 16.4.0, App Router with at least one Server Action. Fixed in 15.5.28 and 16.4.1; Next.js 13, 14 and 15.0 to 15.4 get no fix. - The damage is downtime, and on hosts that bill CPU time, a larger bill. Nothing is read or changed.
- GitHub, the CNA, scores it 8.2 High (CVSS 4.0). CISA records no known exploitation but rates the attack as automatable, and it is not in the KEV catalog as of 8 November 2026.
- Same title as July's CVE-2026-64641, but a new bug: 16.2.11 and 15.5.21 fixed that one and are affected by this one. Go to 16.4.5 or 15.5.29.
- No workaround exists besides upgrading. Rate limits at Vercel, Cloudflare or your proxy reduce the damage; they do not fix it.
On this page
- What CVE-2026-94482 is, in plain words
- Severity and exploitation status
- Who is affected
- How to check your Next.js version
- Does your app have a Server Action?
- How to fix CVE-2026-94482
- Rate limits and other defence in depth
- How it relates to the other Next.js denial of service CVEs
- Timeline
- What Keybrum checks on a live app
- Questions
- Sources
What CVE-2026-94482 is, in plain words
A Server Action is a function marked "use server" that your pages call from a form or a button. On the network, each call is a POST request to your app, which the server decodes before it runs your code. Anyone can send one, as the Next.js security guide explains.
CVE-2026-94482 is a flaw in how Next.js handles those requests. Per the advisory, crafted requests to an App Router app with at least one Server Action cause "excessive CPU usage blocking processing of further requests in the same process." Per the CVSS vector, no login and no click from a user are needed. The weakness class is CWE-770, allocation of resources without limits or throttling.
The Next.js release post links it to an upstream React advisory, GHSA-h3gv-c5rc-p453, fixed the same day. Neither advisory describes the mechanism, and neither does this page.
What a stranger can and cannot do
- Stall your server. Node.js runs your JavaScript on one thread per process, so while it burns CPU on a crafted request, every other visitor on that process waits. With one
next startprocess on a VPS, that is the whole site. - Run up your bill. Netlify warns that "active exploitation could increase your function costs". Vercel bills functions by Active CPU, "the CPU time your code actively consumes".
- Nothing more. The CNA rates the impact on confidentiality and integrity as none. The code execution bugs of the same release are GHSA-2464-fhr4-w9xw and GHSA-673q-mjm6-r5xr.
Severity and exploitation status
| Source | Rating | Detail |
|---|---|---|
| GitHub, the CNA (CVSS 4.0) | 8.2 High | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H: over the network, low complexity, no account, a precondition must be present, availability impact only |
| NVD | No score of its own | "Awaiting Analysis" on 8 November 2026. It shows the CNA score; no CVSS 3.1 score exists |
| CISA (SSVC, 30 October 2026) | Exploitation: none | Automatable: yes. Technical impact: partial |
| CISA KEV catalog | Not listed | Catalog version 2026.11.06, checked 8 November 2026 |
| FIRST EPSS | 0.39% | Probability of exploitation in the next 30 days, 33rd percentile, on 7 November 2026 |
The vector marks an attack requirement as present; the only condition the advisory states is an App Router app with a Server Action. "Automatable" means CISA judges the attack can be scripted reliably. We found no public report of exploitation, and the advisory credits no researcher.
Who is affected
Your app is exposed when all three of these are true:
- It runs
next13.0.0 to 15.5.27, or 16.0.0 to 16.4.0. - It uses the App Router, the
app/directory. - It has at least one Server Action.
"Applications using Pages Router or not using Server Actions are not vulnerable," the advisory adds. It says nothing about hosting: on every host, the version decides.
| Setup | What applies |
|---|---|
Self-hosted: next start, Docker, a VPS | Affected on the versions above. A stalled process keeps the site down until it recovers; more than one process behind a health check shortens that. |
| Vercel | Affected on the versions above. We found no Vercel platform notice or WAF rule for it. Active CPU is billed: Hobby includes 4 hours a month, Pro pays on demand. |
| Netlify | Minimal impact, per Netlify: one function burning CPU does not affect other requests. Exploitation could still raise function costs. |
| Next.js 13.x, 14.x, 15.0 to 15.4 | Affected, and no fix ships on those lines. The nearest fix is 15.5.28. |
| Pages Router only, or an App Router app with no Server Action | Not affected. |
On Next.js 13, Server Actions need experimental.serverActions: true; Next.js 14 made them stable and on by default.
How to check your Next.js version
Check the version your lockfile resolves, not the range in package.json: "next": "^16.2.0" can still be pinned to 16.2.11 in the lockfile. Run one of these at the root of the project:
# What is installed
npm ls next
pnpm why next
yarn why next
# The version the Next.js CLI reports
npx next --versionDo not trust an old audit: the advisory reached the GitHub Advisory Database, which npm audit and Dependabot read, on 22 October, eight days after the fix shipped.
Does your app have a Server Action?
A file that starts with "use server" exports actions, and a function whose first line is "use server" is one. Search your code, then count what the build contains:
# In your source
grep -rlE --include='*.ts' --include='*.tsx' --include='*.js' --include='*.jsx' \
"[\"']use server[\"']" app src lib components 2>/dev/null
# After next build: how many Server Actions the build contains
node -e "const m=require('./.next/server/server-reference-manifest.json');console.log(Object.keys(m.node).length+Object.keys(m.edge||{}).length)"No action means this CVE does not apply today, but one new form can add one. To see whether production answers the React Server Components protocol, use the header check on the CVE-2025-55184 page.
How to fix CVE-2026-94482
- 1
Upgrade Next.js
16.4.1 and 15.5.28 are the first fixed releases. Go to the latest patch instead, 16.4.5 or 15.5.29 from the November 2026 security release, which also fixes cache and cookie advisories.
- 2
Leave 13.x, 14.x and early 15.x
Those lines get no fix. Moving to 15.5 or 16 is a major upgrade: read the Next.js upgrade guides first.
- 3
Commit the lockfile and redeploy
Production runs what the lockfile installs. If you ship a Docker image, rebuild it without a stale install layer.
- 4
Other React Server Components frameworks
Outside Next.js, update
react-server-dom-webpack,-parcelor-turbopackto 19.0.9, 19.1.10, 19.2.9 or 19.3.1, the versions the upstream React advisory names. Its affected list includes 19.0.8, 19.1.9 and 19.2.8, the July fixes, so those are not enough.
# Next.js 16 (Active LTS), latest patch on 8 November 2026
npm install [email protected]
# Next.js 15 (Maintenance LTS)
npm install [email protected]
# The same with pnpm or yarn
pnpm add [email protected]
yarn add [email protected]Rate limits and other defence in depth
A rate limit refuses requests beyond a count per source. It does not make a crafted request cheaper, and a sender with many addresses stays under it.
| Where | What you can set | Availability |
|---|---|---|
| Vercel WAF rate limiting | A fixed window of 10 seconds to 10 minutes, counted by IP or JA4 fingerprint, 429 by default. Counters are per region. | All plans. Hobby: 1 rate limit rule per project, 1,000,000 allowed requests included |
| Cloudflare rate limiting rules | On Free: 1 rule, matched on the path, counted by IP over 10 seconds. | Free and paid plans |
nginx in front of next start | limit_req_zone and limit_req cap the request rate per client IP. Requests beyond the burst get an error. | Self-hosted |
Next.js serverActions.bodySizeLimit | Caps a Server Action's body at 1MB by default, "to prevent the consumption of excessive server resources". Keep it unless an upload needs more. | On by default |
# In the http block
limit_req_zone $binary_remote_addr zone=app:10m rate=10r/s;
server {
location / {
limit_req zone=app burst=20 nodelay;
proxy_pass http://127.0.0.1:3000;
}
}How it relates to the other Next.js denial of service CVEs
This is the second Next.js advisory of 2026 with exactly this title. In July, CVE-2026-64641 (GHSA-m99w-x7hq-7vfj, also 8.2 High, but CWE-834, excessive iteration) described the same symptom and was fixed in 16.2.11 and 15.5.21, two versions this CVE affects. If you patched in July and stopped, patch again.
Both follow a run of denial of service bugs in React's Server Components code, such as CVE-2025-55184 and CVE-2026-23864; the upstream React advisory above is the latest. Next.js ships its own copy of that React code, so in a Next.js app only the next version counts.
Timeline
| Date | Event |
|---|---|
| 21 September 2026 | CVE-2026-94482 reserved by GitHub, the CNA. |
| 14 October 2026 | React fixes GHSA-h3gv-c5rc-p453. Next.js ships 16.4.1 and 15.5.28 and publishes GHSA-p3m5-59mp-jv5r alongside two critical advisories. |
| 22 October 2026 | CVE published on cve.org and in NVD; the advisory enters the GitHub Advisory Database. |
| 30 October 2026 | CISA records no known exploitation and rates the attack as automatable. |
| 3 November 2026 | Next.js 16.4.5 and 15.5.29, the November 2026 security release. |
| 8 November 2026 | Not in CISA's KEV catalog (version of 6 November). EPSS 0.39% on 7 November. |
What Keybrum checks on a live app
Keybrum never sends a denial of service payload: stalling a server to prove a point is downtime for its owner, so no Keybrum attack tests CVE-2026-94482 itself. On apps whose owner proved ownership, one ordinary request with the RSC header confirms that production answers the React Server Components protocol, and a read of your JavaScript looks for Server Action ids, signs of this advisory's two conditions. The report names the current floor, 16.4.5 or 15.5.29; your version check settles the rest.
Vibe coding security risks covers what AI-built apps leak most often.
Questions
Is my Next.js 14 app affected by CVE-2026-94482?
Yes, if it uses the App Router and has at least one Server Action: the advisory covers every version from 13.0.0 to 15.5.27. No 14.x release fixes it. The nearest fix is 15.5.28, and the current patches are 15.5.29 and 16.4.5.
What is the Next.js Server Actions denial of service?
Crafted requests to an App Router app with a Server Action make the server use so much CPU that the process stops handling other requests. Nothing leaks, but the app stops answering. The current case is CVE-2026-94482; July's was CVE-2026-64641.
Does CVE-2026-94482 affect apps hosted on Vercel?
The advisory makes no distinction by host, and we found no Vercel platform notice or WAF rule for it. Vercel bills functions by Active CPU, the resource this bug burns, so upgrade wherever you host.
I upgraded for CVE-2026-64641 in July. Am I covered?
No. The July fixes, 16.2.11 and 15.5.21, are inside the affected range of CVE-2026-94482. Upgrade to 16.4.1 or 15.5.28 at least, and preferably to 16.4.5 or 15.5.29.
Is CVE-2026-94482 exploited in the wild?
Not as far as public sources show: CISA records no known exploitation, and the CVE is not in its Known Exploited Vulnerabilities catalog as of 8 November 2026. CISA rates the attack as automatable, so do not wait for reports.
Sources
- 1.GHSA-p3m5-59mp-jv5r: Denial of Service in App Router using Server Actions, Vercel, GitHub Security Advisory
- 2.GHSA-p3m5-59mp-jv5r: Next.js: Denial of Service in App Router using Server Actions, GitHub Advisory Database
- 3.CVE-2026-94482, NIST National Vulnerability Database
- 4.CVE-2026-94482, CVE Program
- 5.Next.js Security Update for Upstream Vulnerabilities, Next.js
- 6.Next.js v16.4.1 release notes, vercel/next.js on GitHub
- 7.Next.js v15.5.28 release notes, vercel/next.js on GitHub
- 8.GHSA-h3gv-c5rc-p453: Denial of Service in Server Functions, React, GitHub Security Advisory
- 9.November 2026 Security Release, Next.js
- 10.GHSA-m99w-x7hq-7vfj (CVE-2026-64641): Denial of Service in App Router using Server Actions, GitHub Advisory Database
- 11.Security Update: Next.js and React vulnerabilities (October 2026), Netlify
- 12.Fluid compute pricing: Active CPU, Vercel Docs
- 13.WAF Rate Limiting, Vercel Docs
- 14.Rate limiting rules, Cloudflare Docs
- 15.Module ngx_http_limit_req_module, nginx
- 16.serverActions: allowedOrigins and bodySizeLimit, Next.js Docs
- 17.Don't Block the Event Loop (or the Worker Pool), Node.js
- 18.Known Exploited Vulnerabilities Catalog, CISA
- 19.EPSS score for CVE-2026-94482, FIRST
- 20.next: versions, npm