The Next.js October 2026 security update fixed two critical remote code execution issues and a high-severity denial of service. The October patch releases are 15.5.28 and 16.4.1. For a PDF application, investigate the feature each advisory names: Cache Components, image optimization, and Server Actions have different exposure conditions. Start with the official October 14 announcement.
Sources checked on November 2, 2026. This article explains the October incident. Vercel separately announced a November 3 release addressing seven medium vulnerabilities. The October version numbers below are historical fix thresholds, not a claim that those builds contain every subsequent fix.
Which Next.js features were affected in October?
The October advisories describe three different failure paths. Match each path to the deployed application's behavior before deciding which internal component owns remediation.
| Advisory | Published affected range | Required feature or environment | October fix |
|---|---|---|---|
| GHSA-673q-mjm6-r5xr | 16.0.0 through 16.4.0 | App Router, Cache Components, and a use cache function returning multiple typed arrays | 16.4.1 |
| GHSA-2464-fhr4-w9xw, referencing CVE-2026-96889 | 10.x through 15.5.27; affected 16.x builds through 16.4.0 | SVG processing through image optimization on glibc-based Linux | 15.5.28 or 16.4.1 |
| GHSA-p3m5-59mp-jv5r | 13.0.0 through 15.5.27; 16.0.0 through 16.4.0 | App Router with at least one Server Action | 15.5.28 or 16.4.1 |
The cache advisory describes unauthenticated code execution and lists no known workaround. The image advisory identifies an upstream memory-safety problem; Vercel's documented workaround is ensuring that Next.js uses sharp 0.35.5 or later. The Server Actions issue can exhaust CPU and block requests in the same process.
Our recommendation is to track all three advisories separately, even when a single framework upgrade resolves them together. A team that only records the SVG workaround could overlook the cache issue. A team that only operates an App Router API might mistakenly assume that every Route Handler is a Server Action. Neither shortcut establishes the conditions described by the advisories.
Why does this matter to a PDF application?
A PDF application has more attack surfaces than its PDF renderer. Our review checklist includes the template editor, uploaded branding assets, preview endpoints, export submission, and background rendering workers. A framework issue in one process can affect the application's ability to submit or deliver a PDF even when Chromium is separate.
For example, inspect any cached function that prepares document data. Does the function return several typed arrays, and is it a Cache Component using use cache? Record the answer with the function's location. A generated PDF stored as binary data is a reason to inspect the code, not proof that the cache vulnerability is reachable.
Inspect image processing independently. Find the service that handles SVG logos or document illustrations, its operating system, and the dependency it actually loads. Sending SVG directly to a browser and processing SVG through Next.js image optimization are different paths. Use the SVG advisory to determine which path falls within its scope.
Finally, inventory Server Actions. If a document submission form invokes one, identify whether request handling shares a process with other customer-facing operations. The October Server Actions advisory explicitly excludes applications without Server Actions. Our earlier Next.js RSC DoS article covers a different disclosure; its old patch table should not be used for October remediation.
How should you verify a Next.js security upgrade?
Inspect resolved dependencies, rebuild the application, and test the deployed artifact. Our recommended evidence is the installed framework version, the resolved image dependency where applicable, the artifact identifier, and successful application flows after replacement.
Start by inspecting the dependency tree:
npm ls next react react-dom sharpCheck the current Next.js security announcements, then select a supported release containing the applicable patches. Follow that release's React dependency requirements and update the lockfile. The command above inventories packages; its output does not prove that a deployed process has been replaced.
For PDF applications, use a short acceptance sequence:
- Sign in and open a template in the editor.
- Load a preview with the same image formats used by real customers.
- Submit a PDF job through the production request path.
- Confirm job completion and download the resulting PDF.
- Repeat with a background or scheduled export worker if the application has one.
Avoid copying the first fixed version from an old incident report into a new deployment without checking later advisories. In this case, the separate November announcement is already enough to make that distinction necessary.
Which parts of the PDF stack need separate updates?
Treat the framework, Node.js runtime, and browser as separate patching records. Our recommended deployment review asks for evidence from each layer instead of closing all security work after one successful npm upgrade.
| Layer | Evidence to request | Related incident |
|---|---|---|
| Next.js application | Resolved framework and applicable image-processing dependency | October cache, SVG, and Server Actions advisories |
| Node.js worker | Runtime version inside the deployed artifact | Node2Shell and Brotli |
| Chromium renderer | Actual launched binary and browser version | Browser engine vulnerabilities and renderer isolation |
Use the Next.js PDF generation guide to review where rendering runs in your application, and the HTML-to-PDF tool for a separate manual conversion check. A successful conversion is a functional check; it does not attest to your deployment's patch status.
Using PDF4.dev moves PDF rendering behind a hosted service. Your Next.js application still needs its own framework and runtime maintenance, including features unrelated to the render call.
Free tools mentioned:
Frequently asked questions
- What did the October 14, 2026 Next.js security update fix?
- It addressed two critical remote code execution issues, involving Cache Components and SVG image processing, plus a high-severity denial of service affecting App Router applications with Server Actions.
- Which Next.js versions contain the October fixes?
- Next.js 15.5.28 and 16.4.1 contain the applicable October fixes. These are historical patch floors for those advisories, not a guarantee against later vulnerabilities. The cache issue affects the 16.x line.
- Does every use cache function expose the cache RCE?
- The published advisory describes Cache Components with a use cache function returning multiple typed arrays. Vercel recommends upgrading even when no similar function has been identified.
- What is CVE-2026-96889 in this update?
- CVE-2026-96889 is the upstream SVG-processing vulnerability referenced by the Next.js image optimization advisory. The documented Next.js exposure concerns glibc-based Linux deployments.
- Is upgrading sharp enough to resolve all three advisories?
- No. Vercel lists sharp 0.35.5 or later as a workaround for the image-processing issue. The cache and Server Actions issues require their applicable framework fixes.
- Does an App Router Route Handler automatically expose the Server Actions DoS?
- No. The October advisory requires an App Router application with at least one Server Action. A Route Handler alone does not establish that condition. Pages Router applications are outside this advisory's stated scope.
- Should I install only Next.js 16.4.1 after reading this article?
- Treat 16.4.1 as the October fix version. Check current official advisories and deploy a supported release containing all applicable fixes. Vercel also announced a separate November 3 security release.
- Does outsourcing PDF rendering fix a vulnerable Next.js frontend?
- No. PDF4.dev handles hosted PDF rendering, while your Next.js frontend, framework dependencies, image processing, and Server Actions remain your application's patching responsibility.
Start generating PDFs
Build PDF templates with a visual editor. Render them via API from any language in ~300ms.



