Next.js 16.4.1 fixes two critical RCEs: one has no CVE id or workaround, GitHub's feed lagged 8 days (read 25 Oct 2026)
Next.js 16.4.1 and 15.5.28 fix two critical remote code execution flaws and one high severity denial of service. On 25 October the use cache flaw still has no CVE id and no workaround, and GitHub's advisory database listed all three 7 days 22 hours after Vercel did.
By Parminder Kumar Sharma · · 36 min read
Three minutes after the package, the advisory; eight days later, the database
The Next.js 16.4.1 package reached the npm registry at 17:43:55 UTC on 14 October 2026. Vercel's advisory for its critical use cache flaw, GHSA-673q-mjm6-r5xr, was published 3 minutes 11 seconds later (derived from the registry's publish time and the advisory's own timestamp). GitHub's Advisory Database, the list that Dependabot alerts are generated from, published the same advisory on 22 October at 16:42 UTC, 7 days 22 hours 55 minutes after the Next.js advisory (derived). On Sunday 25 October the advisory still has no CVE id, and Vercel says there is no known workaround.
That sequence does not establish that anyone was attacked, that a particular scanner failed a particular customer, or that any given application could be reached. Vercel's post says nothing about exploitation either way. CISA's Known Exploited Vulnerabilities catalogue, version 2026.10.23, lists none of the ids in this story, and a missing listing is not evidence that nothing is happening. What the sequence does show is how far behind the fix the places defenders usually look were. That is a measurable gap, not an opinion.
The story as first reported said two of the three issues had no CVE id, and that the SVG flaw scored 9.5 in one place and 7.8 in another. Reading the primaries changes parts of that. The Server Actions denial of service received CVE-2026-94482 on 22 October. The SVG flaw's id, CVE-2026-96889, was assigned by Red Hat on 23 September to the librsvg library, three weeks before the Next.js release, and it carries a different score because it scores a different thing. Only the use cache flaw has no id at all. Each difference is set out below.
Everything here was read between about 17:46 and 18:16 UTC on Sunday 25 October 2026, from Vercel's own post and advisories, the React and sharp advisories, the librsvg advisory, the CVE and NVD records, the GitHub Advisory Database, the npm registry and the public Next.js source. A CVE id, a database listing or a host statement can appear within hours, so each claim of that kind carries its read time. The Hacker News report of 15 October was read as a secondary source. The Cloud Security Alliance note named in the first reports could not be read, because its site put up a browser check that this site did not attempt to pass. This site covered the first week of the story on 15 October, and the August image decoder flaw in an earlier briefing. This one adds the record that was not yet there on 15 October.
The sequence, and the clocks that follow from it
The diagram shows the four stages. The table under it gives each event with its time and where it was read. All times are UTC. Day and hour counts are derived by this site from the printed timestamps (calc.py in the folder shows the arithmetic).
Events from 13 July to 28 October 2026 in UTC, with the source read for each. Day counts are derived from the printed timestamps.
| When (UTC) | What happened | Read from |
|---|---|---|
| 13 Jul | Vercel formalises a security release programme: roughly monthly scheduled releases with advance notice, and ad hoc patches kept for urgent or exploited issues. | Next.js blog |
| 22 Sep | Out of band release 16.3.6 and 15.5.26 for GHSA-vcvr-r3jv-pc5j, a critical remote code execution in the Node.js ImageResponse of next/og (CVE-2026-94545). | Next.js blog, repository advisory |
| 23 Sep, 12:00 | Red Hat makes CVE-2026-96889 public, a use after free in librsvg. RustSec issues RUSTSEC-2026-0305 the same day. Vercel's preview of the 30 September release is dated the same day. | CVE.org, RustSec, Next.js blog |
| 25 Sep, 17:53 | CISA's enrichment records exploitation as poc, automatable as no and technical impact as total for CVE-2026-96889. | CVE.org record |
| 27 Sep, 13:46 | sharp 0.35.5 reaches npm. sharp's advisory says it provides librsvg 2.63.2. | npm registry, sharp advisory |
| 30 Sep | September release, Next.js 16.3.8 and 15.5.27, fixes seven issues. One critical and one high fix are postponed. sharp publishes its own advisory at 19:22. | Next.js blog, sharp advisory |
| 6 Oct, 13:43 | sharp's advisory is listed in the GitHub Advisory Database, 5 days 18 hours after sharp published it (derived). | GitHub |
| 8 Oct | Vercel announces an out of band update for Wednesday 14 October: three issues, two critical and one high, two of them postponed from September. | Next.js blog |
| 14 Oct, 16:47 to 16:56 | React publishes fixed react-server-dom packages 19.0.9, 19.1.10, 19.2.9 and 19.3.1 to npm. | npm registry |
| 14 Oct, 17:08 | React publishes GHSA-xqc2-xf4c-x3h3 (critical) and GHSA-h3gv-c5rc-p453 (high). Neither has a CVE id at 25 October. | React repository |
| 14 Oct, 17:36 and 17:43 | next 15.5.28, then next 16.4.1, reach npm. | npm registry |
| 14 Oct, 17:46 to 17:47 | The three Next.js advisories are published. GitHub releases for v15.5.28 and v16.4.1 follow at 17:47. | Next.js repository |
| 20 Oct | Singapore's Cyber Security Agency alerts on the two critical flaws and says no CVE id had been issued for GHSA-673q-mjm6-r5xr. | CSA Singapore |
| 22 Oct, 15:22 | CVE-2026-94482 is published for the Server Actions denial of service. GitHub is the numbering authority. The id was reserved on 21 September. | CVE.org |
| 22 Oct, 15:50 to 16:42 | GitHub's Advisory Database lists all three Next.js advisories, 7 days 22 hours after they were published (derived). | GitHub |
| 23 Oct | Next.js 16.4.3 reaches npm. It is the latest tag on 25 October. | npm registry |
| 28 Oct | End of the 14 days that Cyber Essentials v3.3 allows for a fix the vendor calls critical or high risk, counted from 17:43 UTC on 14 October (derived). | Cyber Essentials v3.3 |
Two things in the table are easy to miss. First, Vercel's own words for the 14 October release are an out of band update, yet it was announced six days earlier, and two of its three fixes had been postponed from the 30 September scheduled release. Second, the fix for the SVG flaw's underlying library, sharp 0.35.5, was on npm 17 days 3 hours 57 minutes before next 16.4.1 (derived). Anyone who had sharp as a direct dependency and watched its advisory could have known on 6 October, 8 days before the Next.js release. Anyone who relied on Next.js to bring the fix had to wait for 14 October.
The three issues: stated and not stated
The table keeps what Vercel and React state apart from what they leave out. "Not stated" means not found in the advisory, the Vercel post or the linked records, all read in full. It does not mean the information does not exist.
Next.js advisories GHSA-673q-mjm6-r5xr, GHSA-2464-fhr4-w9xw and GHSA-p3m5-59mp-jv5r, Vercel's post of 14 October, and React's advisories GHSA-xqc2-xf4c-x3h3 and GHSA-h3gv-c5rc-p453, read 25 October 2026.
| Issue | Stated | Not stated |
|---|---|---|
Critical, unauthenticated remote code execution in use cache functions returning typed arrays. GHSA-673q-mjm6-r5xr, no CVE id. React twin: GHSA-xqc2-xf4c-x3h3. | Next.js 16.0.0 to 16.4.0 affected, 16.4.1 fixed. App Router with Cache Components, and a use cache function that returns multiple typed arrays. "No known workaround." Upgrade "even if your application does not have similar functions." CVSS 4.0 score 9.5. React says the flaw affects "extremely rare cases where responses transport multiple typed arrays and an attacker-controlled value" in react-server-dom 19.0.0 through 19.0.8, 19.1.0 through 19.1.9, 19.2.0 through 19.2.8 and 19.3.0. | How the attacker supplies the value (React names it, Vercel's text does not). Whether any 15.x release is affected: Vercel lists none. Why a code search cannot clear an application. Any exploitation. A CVE id. |
| Critical, unauthenticated remote code execution in the Image Optimization API when SVG files are used. GHSA-2464-fhr4-w9xw, CVE-2026-96889. | Next.js 10.0.0 to 15.5.27 and 16.0.0 to 16.4.0 affected, 15.5.28 and 16.4.1 fixed. A memory flaw in an upstream library, "when Next.js runs on glibc-based Linux". Workaround: make sure the sharp used by Next.js is 0.35.5 or later. CVSS 4.0 score 9.5. | The setting or code path that reaches the decoder: the advisory names none. What happens on musl, macOS or Windows. Whether next/og is in scope (Netlify says it is). Any exploitation. |
| High, denial of service in App Router using Server Actions. GHSA-p3m5-59mp-jv5r, CVE-2026-94482 from 22 October. React twin: GHSA-h3gv-c5rc-p453. | Next.js 13.0.0 to 15.5.27 and 16.0.0 to 16.4.0 affected, 15.5.28 and 16.4.1 fixed. At least one Server Action in App Router. "No workaround exists besides upgrading." Pages Router and apps without Server Actions are not vulnerable. CVSS 4.0 score 8.2. | The request shape. Whether the process recovers. Whether Vercel's "excessive CPU usage" matches React's "out-of-memory exceptions or excessive CPU usage". Any exploitation. |
Vercel's post pairs two of its advisories with React advisories: GHSA-673q with GHSA-xqc2, and GHSA-p3m5 with GHSA-h3gv. The fix commit for the first, as listed on the Next.js advisory, changes files under the copy of the React server packages that Next.js bundles (packages/next/src/compiled/react-server-dom-*, read from the commit's file list). That is why upgrading a standalone React package in your tree does not close the Next.js flaw, and why an application on another framework that uses those packages has its own, separate upgrade path (inference from the commit; this site did not diff the packages).
Which versions are in range, and where the sources disagree
The question "which versions are vulnerable" has a clean answer for 16.x and a messy one for everything older. Counting published stable releases on the registry (derived): 284 of 424 fall in the SVG range, 226 in the Server Actions range and 43 in the use cache range. Every 16.x release up to 16.4.0 is in all three. Every 15.x release up to 15.5.27 is in the first two, and Vercel lists none for the third. Releases 16.4.1, 16.4.2 and 16.4.3 are fixed: the 16.4.2 release notes link a comparison from v16.4.1, so it builds on the fix (this site did not diff the code).
Lines 10 to 14 are the awkward case. The SVG advisory's range starts at 10.0.0 and the Server Actions range at 13.0.0, yet the only patched versions either lists are 15.5.28 and 16.4.1. No patched 14.x, 13.x, 12.x, 11.x or 10.x release is named, and the newest 14.x on the registry is 14.2.35, from 11 December 2025 (derived, 46 stable 14.x releases). Vercel's support policy page lists 16.x as Active LTS and 15.x as Maintenance LTS, and 14.x and older as unsupported. It adds that in rare cases it patches outside that policy, and it did not here. The page also says each major stays in Maintenance LTS "for two years following the initial release" and gives 21 October 2024 as the 15.x release date. If that two years counts from that date, it ended four days before this read, a week after 15.5.28 shipped. The page states no end date for 15.x, so this is a question to put to Vercel, not a finding.
Version ranges for the SVG flaw and neighbouring statements, as each source prints them, read 25 October 2026.
| Source | What it prints | What to note |
|---|---|---|
| Vercel advisory page GHSA-2464, 14 Oct | >= 10.0.0 <= 15.5.27 and > 16.0.0 <= 16.4.0. Fixed 15.5.28 and 16.4.1. | The second range uses a strict greater than, which would leave out 16.0.0 itself. |
| GitHub Advisory Database and npm audit endpoint, 22 and 25 Oct | >= 10.0.0, <= 15.5.27 and >= 16.0.0, <= 16.4.0. | GitHub's record corrects the strict greater than. |
| Cyber Security Agency of Singapore, 20 Oct | 16.x before 16.4.1, and 10.x to 15.x before 15.5.28, for both critical flaws together. | Applies one range to two flaws, one of which Vercel lists for 16.x only. |
| The Hacker News, 15 Oct (secondary) | 10.0.0 to 15.5.27 and 16.0.0 to 16.4.0, fixed in 16.4.1, or 15.5.28 with sharp 0.35.5 or later. | Adds a condition on 15.5.28 that Vercel's advisory does not state. |
| NVD record for CVE-2026-96889 | Lists only Red Hat products: glycin-loaders and librsvg2 on RHEL 6 to 10. | No entry for next or sharp. The record is in Awaiting Analysis. |
| NVD and CVE.org for CVE-2026-94482 | Description reads "From 13.0.0 until 15.5.28 and 16.4.1". The affected data reads below 15.5.28 and below 16.4.1. | The prose is looser than the data. |
| React advisory GHSA-h3gv, prose and list | Prose says 19.0.0 to 19.0.7, 19.1.0 to 19.1.8 and 19.2.0 to 19.2.7. The structured list runs to 19.0.8, 19.1.9, 19.2.8 and 19.3.0. | The two differ by one patch release on each line. Fixed 19.0.9, 19.1.10, 19.2.9 and 19.3.1. |
| React advisory GHSA-xqc2, prose | Patches listed as 19.0.09, 19.1.10, 19.2.9 and 19.3.1. | The structured field and npm both say 19.0.9. |
One library bug, three scores: 9.5, 8.9 and 7.8
The 9.5 and the 7.8 come from different scoring systems, and they also score different objects. The vectors are printed in full in the technical details below. The table shows the metrics that decide the difference.
Scores as printed by each assigner for the same underlying librsvg flaw and for the other two Next.js issues, read 25 October 2026. Full vectors are in the technical details.
| Who scored, and what | Version and deciding metrics | Score |
|---|---|---|
| Vercel, the Next.js image advisory (GHSA-2464) | CVSS 4.0. Attack vector network, attack requirements present, privileges none, user interaction none. | 9.5, critical |
| The sharp maintainers, the sharp advisory (GHSA-wq5f) | CVSS 4.0. Attack vector local, attack requirements present, privileges none, user interaction none. | 8.9, high |
| Red Hat, the librsvg library (CVE-2026-96889) | CVSS 3.1. Attack vector local, user interaction required. | 7.8, high. Red Hat rating: Important |
Vercel, the use cache advisory (GHSA-673q), and React (GHSA-xqc2) | CVSS 4.0, the same vector as the image flaw except subsequent availability impact none. | 9.5, critical |
| Vercel, the Server Actions advisory (GHSA-p3m5) | CVSS 4.0. Network, availability impact high only. | 8.2, high |
Red Hat scored the library as opened by a person on a machine, so the vector is local and needs user interaction. Its own statement says exploitation "requires user interaction, such as opening a malicious SVG file". Vercel scored the framework as a server that decodes images in response to web requests, so the vector is network with no interaction. The sharp maintainers sit between: local, no interaction. Their earlier advisory for an AVIF decoder flaw states the logic outright: the library's score used a network vector, "however sharp does not provide any networking features", so they scored it lower. That sentence explains the 8.9, though it is about a different flaw.
A derived check, using the CVSS 3.1 formula: Red Hat's vector reproduces 7.8 here. Changing only the attack vector to network gives 8.8. Changing only user interaction to none gives 8.4. Changing both gives 9.8. So within one version those two metrics alone account for the gap: 7.8 becomes 9.8, which sits close to Vercel's 9.5. That 9.5 is a version 4.0 score, and scores from 3.1 and 4.0 are not on one scale, so the comparison is a guide to cause and not a like for like match.
CISA's enrichment of the CVE record, dated 25 September, adds a different kind of rating for the library flaw. It records exploitation as poc, automatable as no and technical impact as total, and it tags the librsvg issue link with the reference tag exploit. In CISA's decision guide the value Public PoC means a typical public proof of concept exists, or the vulnerability has a well known method of exploitation. This site did not open the librsvg issue (the host refused the request) and describes none of it. Vercel's post is silent on proof of concept code, so the report that Vercel has not confirmed a public proof of concept is accurate but incomplete: CISA's record says one exists for the library flaw, which is not the same as one for the Next.js code path.
Which ids exist, and who can see them
Tools find flaws by id. These three flaws have an uneven set of ids, and the set changed between 14 and 25 October.
Identifiers for the three Next.js issues and the two React advisories on 14 October (Vercel's post and the repository advisories) and on 25 October (GitHub, CVE.org, NVD), read 25 October 2026.
| Issue | On 14 October | On 25 October |
|---|---|---|
use cache remote code execution | GHSA-673q-mjm6-r5xr only. React's twin GHSA-xqc2-xf4c-x3h3 also has no CVE id. | Still no CVE id in the repository advisory, GitHub's database or the Singapore alert of 20 October. An NVD keyword search for the flaw returned no record. |
| SVG remote code execution | CVE-2026-96889 and GHSA-2464-fhr4-w9xw. | CVE-2026-96889 is Red Hat's id for the librsvg library, assigned 23 September. The NVD record is in Awaiting Analysis, last modified 21 October, and names only Red Hat products. GitHub's database record for GHSA-2464 shows no CVE alias, with the NVD link only in its references. |
| Server Actions denial of service | GHSA-p3m5-59mp-jv5r only. React's twin GHSA-h3gv-c5rc-p453 also had no CVE id. | CVE-2026-94482, published 22 October 15:22 UTC, GitHub as numbering authority, reserved 21 September. Also in Awaiting Analysis. React's twin still has none. |
Of the five critical advisories in the Next.js repository in 2026, two have no CVE id at read: this one and the AVIF flaw of 25 August (derived from the repository's advisory list). The longer pattern is in the lag. All five reached the GitHub Advisory Database between 7.91 and 14.21 days after the Next.js repository published them (derived). GitHub's own documentation for Dependabot alerts says alerts fire when a vulnerability is added to the Advisory Database, that "New vulnerabilities may take time to appear" there, and that only advisories reviewed by GitHub trigger alerts. The delay is therefore inside the documented limits of the tool, which is the point: the limit is documented and still surprising.
The npm registry's bulk advisory endpoint, the one the npm audit command is documented to query, answered at 18:04 UTC on 25 October with all three Next.js advisories for next 16.4.0, two of them for 15.5.27, none for 16.4.1 or 15.5.28, and sharp's librsvg advisory for sharp 0.35.4 and 0.34.5. So the claim in the 15 October coverage, that npm audit was silent on two of them, is no longer true. The Hacker News said so on 15 October. This site could not test that day, and the 22 October listing date is consistent with it. Inference, labelled: a tool keyed only to CVE ids or to NVD product records would have found nothing for use cache, would have matched CVE-2026-96889 to Red Hat's librsvg2 packages rather than to an npm package, and would have found the denial of service only from 22 October.
Five friendly names, and what the record shows
A label can stand in for a control. Five appear in this story.
Labels used by Vercel, the hosts and the press, with what the primaries and the public source show, read 25 October 2026.
| The label | Where it appears | What the record shows |
|---|---|---|
| "Out of band" | Vercel's 8 and 14 October posts, and the headline of the secondary coverage. | It sounds like a surprise. The release was announced six days earlier and two of its three fixes had been postponed from the 30 September scheduled release. It is the second out of band release in 22 days (22 September and 14 October, derived), both within 14 weeks of Vercel formalising a monthly programme on 13 July (derived). The posts do not name which two fixes were postponed or why beyond "upstream coordination". Inference only: the SVG flaw (critical) and the Server Actions flaw (high) fit, because their CVE ids were reserved or published by 23 September and sharp's fix was out on 27 September. |
| "Critical" | Vercel's severity for both remote code execution flaws. | Vercel scores the framework at 9.5. The same library bug is 8.9 in sharp's advisory and 7.8 in Red Hat's. React says the use cache condition covers "extremely rare cases", yet Vercel's score for it is the same 9.5. Each score is defensible for the thing it scores. None says how likely the condition is in your application. |
| "No workaround" | The use cache and Server Actions advisories. | It means there is no mitigation short of the upgrade. It does not mean there is no precondition: the use cache flaw needs Cache Components, which Vercel's 30 September advisory shows is switched on with cacheComponents: true. Vercel nonetheless says to upgrade even if you find no such function, so a negative code search is not clearance. |
| "Not vulnerable by default" | The Next.js docs on SVG, and The Hacker News: serving SVG through the optimizer needs dangerouslyAllowSVG. | The docs do say that by default Next.js does not optimize SVG, and the source at v16.4.0 refuses an SVG with a 400 error unless that setting is true. But Vercel's advisory names no setting, and Netlify says the same flaw is reachable through next/og ImageResponse, which the setting does not govern. The default covers one entry point. It is not a statement about the library that the other entry points share. |
| "The root cause is in React" | Vercel's post: a related upstream advisory. | React's advisory covers three packages across every framework that uses them, so the fix lives in two places. For a Next.js app the fix is the Next.js release, because Next.js bundles its own copy. For another framework it is the React package. The label sends two audiences to two different upgrades. |
Interests, in one sentence each. Vercel maintains Next.js and sells the hosting it runs best on, and its own platform statement for October was not found. Netlify and Pantheon sell hosting for Next.js applications and each has a commercial interest in how exposed its platform looks. Red Hat sells support for the Linux distributions that ship librsvg2, and its score describes that use. The sharp maintainers publish a free library and scored its exposure. None of this suggests the facts are wrong. It tells you whose framing each number carries.
The sharp range on the 15.5 line, and a workaround that may not hold
Vercel's advisory says that upgrading Next.js "will ensure package managers automatically provide a fixed version of sharp". The registry metadata shows that this is true for 16.4.1 and only partly true for 15.5.28. next 16.4.1 asks for sharp ^0.35.5. next 15.5.28 asks for sharp ^0.34.3 || ^0.35.5, which still admits the 0.34 line. sharp's advisory lists every version below 0.35.5 as vulnerable, and 0.34.5, from November 2025, is the last 0.34 release. A semver check with npm's own library (npm 11.12.1) confirms that 0.34.5 satisfies the 15.5.28 range and does not satisfy the 16.4.1 range. A fresh install resolves to the highest match, 0.35.5. An existing lockfile that already pins 0.34.5 is not forced to move by a range that still accepts it. That is the package manager's documented behaviour, and this site did not run an install to confirm it. The Hacker News made the same observation on 15 October.
Two nuances follow, both derived from registry data. First, npm's audit endpoint still flags sharp 0.34.5 through sharp's own advisory, so an audit of the tree shows the gap even when the Next.js check is clean. Second, sharp 0.35.5 requires Node 20.9.0 or later, while sharp 0.34.5 and next 15.5.28 both accept Node 18. A deployment on Node 18 and the 15.5 line therefore cannot reach the fixed sharp without also changing Node.
The block workaround needs more care. sharp's advisory suggests calling sharp.block on the SVG loader. Next.js's own code does the opposite when it first loads sharp: it blocks every loader, then unblocks a list that includes the SVG loader (the lines are in the technical details). sharp's documentation describes block and unblock as runtime settings that act on libvips operations. If the later call wins, an application's earlier block would be undone inside a Next.js process (inference from the source and the documentation; this site did not test it, because testing means installing native binaries). Treat the upgrade as the control and the block as something to verify, not assume.
One more observation from the same source file, offered as an open question and not as a finding. In the v16.4.0 source, an SVG that the optimizer detects is refused unless dangerouslyAllowSVG is true, and when it is true the SVG type sits on a bypass list that returns the original bytes without passing them to sharp. This site could not trace a decode of an SVG by librsvg through that path. That does not contradict Vercel: the path may be another one (Netlify names next/og), the content type detection may differ from the file's own, and this site tested nothing. It does mean the advisory's title and the code this site read do not obviously match, and Vercel has not said which path it means. A team that has dangerouslyAllowSVG off should not read that as proof of safety until Vercel does.
What the hosts, Singapore and the NCSC say
Statements read on 25 October 2026. Vercel's own platform statement for October, and statements from other hosts, were not found.
| Source | What it says | What it leaves open |
|---|---|---|
| Netlify changelog, 14 Oct | Upgrade to 15.5.28 or 16.4.1 and redeploy. The image optimizer path is served by Netlify's image CDN, so it is not exercised there. The same flaw is reachable through next/og ImageResponse in a Netlify function, where Netlify says impact is "limited to a crashed function invocation, not code execution". Public deploy previews and branch deploys "may remain vulnerable" until deleted. | How Netlify tested the claim. Whether the crash can be repeated to raise costs (it says active exploitation could increase function costs). |
| Pantheon release note, 14 Oct | Customers update and redeploy their own applications. Pantheon does not update Next.js sites on their behalf. Applications that manage React server packages directly should move to 19.0.9, 19.1.10, 19.2.9 or 19.3.1. | Whether Pantheon applied any platform side mitigation. |
| Cyber Security Agency of Singapore, 20 Oct | Calls the two critical flaws exploitable for remote code execution, both at CVSS 4.0 9.5, and says to patch immediately. Notes that GHSA-673q has no CVE id as of publication. | Any evidence of exploitation. The wording describes capability, not observed attacks. |
| NCSC (UK) | No alert for these flaws was found on ncsc.gov.uk. The NCSC did issue an alert on 28 March 2025 for CVE-2025-29927 in Next.js, saying proof of concept exploits were widely and freely available. | Whether one is planned. The search was limited, so this is a finding about what was found, not proof that none exists. |
| react.dev blog | The latest security post on the blog index is from 11 December 2025. The October advisories were published as repository advisories only. | Whether the React team intends a post. |
A host that patches for you is not the same as a host that says it has. Of the two host statements read, Pantheon says it patched nothing on the customer's behalf, and Netlify says one path is not exercised on its platform. Neither says the customer's own build is fixed. On any platform that builds your application, the fixed artefact is the thing to confirm, and preview deployments count.
Technical details
These are the artifacts the primary sources publish, copied exactly and attributed in each caption. Each block is explained in plain words above it. Anything this site worked out is marked derived. The primaries print no working exploit, and none is reproduced here. They also print no log line, request signature or detection rule for any of the three flaws, and this briefing does not invent one.
Block 1 is the upgrade instruction from Vercel's post. The comments are Vercel's. Run it for each application, then rebuild and redeploy, because the package file in a checkout is not the artefact that is serving requests. Source: Vercel's post of 14 October 2026, read 25 October 2026.
npm install next@15.5.28 # for 15.5
npm install next@16.4.1 # for 16.4
Block 2 is the text of the use cache advisory as Vercel published it in its repository, with the version ranges and the score fields. This is the flaw with no CVE id and no workaround. The only condition printed is an App Router application with Cache Components and a use cache function that returns multiple typed arrays. Source: the vercel/next.js repository advisory, read 25 October 2026.
## Impact
A vulnerability in applications using App router with Cache Component can lead to remote code execution. The application needs to have a `use cache` function that returns multiple typed arrays.
## Workaround
There is no known workaround for affected applications with such `use cache` functions. You should upgrade immediately even if your application does not have similar functions.
Package and versions (as printed):
next vulnerable >=16.0.0 <= 16.4.0 patched 16.4.1
CVSS v4 vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N
CVSS v4 score: 9.5
CVE id: none
Block 3 is React's advisory for the same flaw. It lists the three packages and the patched releases, and it carries the extra condition that Vercel's text omits: an attacker controlled value. Note the typo as printed in its text, 19.0.09. The structured field, and the registry, say 19.0.9. Anyone running another framework on these packages uses this block, not block 1. Source: the React repository advisory, read 25 October 2026.
### Impact
Crafted payloads targeting frameworks supporting React Server Components can lead to remote code execution. This only affects extremely rare cases where responses transport multiple typed arrays and an attacker-controlled value.
We recommend updating immediately.
The vulnerability exists in versions 19.0.0 through 19.0.8, 19.1.0 through 19.1.9, 19.2.0 through 19.2.8 and 19.3.0 of:
- react-server-dom-webpack
- react-server-dom-parcel
- react-server-dom-turbopack
### Patches
Fixes were back ported to versions 19.0.09, 19.1.10, 19.2.9, and 19.3.1.
If you are using any of the above packages please upgrade to any of the fixed versions immediately.
If your app’s React code does not use a server, your app is not affected by this vulnerability. If your app does not use a framework, bundler, or bundler plugin that supports React Server Components, your app is not affected by this vulnerability.
Patched versions (structured field): 19.0.9, 19.1.10, 19.2.9, 19.3.1
CVSS v4 vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:N
CVSS v4 score: 9.5
CVE id: none
Block 4 is the SVG advisory. It names no setting and no code path, only an upstream memory flaw and the condition glibc based Linux. Its workaround is a dependency version, sharp 0.35.5 or later. Source: the vercel/next.js repository advisory, read 25 October 2026.
<!-- https://linear.app/vercel/issue/NSEC-386 -->
## Impact
A memory-related vulnerability has been discovered in an upstream library used for Image Optimization can lead to possible remote code execution (RCE) when Next.js runs on glibc-based Linux.
## Workaround
Ensure the version of `sharp` used by Next.js is greater than or equal to `0.35.5`. Fresh installs automatically get a fixed version fo `sharp`.
Upgrading Next.js to the patched versions will ensure package managers automatically provide a fixed version of `sharp` to Next.js.
Package and versions (as printed):
next vulnerable >= 10.0.0 <= 15.5.27 patched 15.5.28
next vulnerable > 16.0.0 <= 16.4.0 patched 16.4.1
CVSS v4 vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H
CVSS v4 score: 9.5
CVE id: CVE-2026-96889
Block 5 is the denial of service advisory, with the CVE id it gained on 22 October. The repository page still showed no CVE id on its own advisory record, while CVE.org and GitHub's database showed CVE-2026-94482. Source: the vercel/next.js repository advisory and CVE.org, read 25 October 2026.
<!-- https://linear.app/vercel/issue/NSEC-359 -->
## Impact
Crafted requests targeting Next.js applications using App Router with at least one Server Action can lead to excessive CPU usage blocking processing of further requests in the same process.
## Workarounds
No workaround exists besides upgrading. Applications using Pages Router or not using Server Actions are not vulnerable.
Package and versions (as printed):
next vulnerable >=13.0.0 <= 15.5.27 patched 15.5.28
next vulnerable >= 16.0.0 <= 16.4.0 patched 16.4.1
CVSS v4 vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS v4 score: 8.2
CVE id: CVE-2026-94482 (CVE.org, 22 October 2026)
Block 6 is sharp's own advisory for the library flaw. It is the only primary that says how to block SVG decoding in code, what the patched librsvg version is, and that the Node binary matters. The binary condition is the one most teams will not know about: sharp warns that the official Node.js binaries are not built as Position Independent Executables. The advisory's last line points to the librsvg issue, which this site did not open. Source: the lovell/sharp repository advisory, read 25 October 2026.
### Impact
A memory-related vulnerability has been discovered and fixed in the upstream librsvg dependency. When certain runtime-specific conditions apply, this vulnerability can lead to possible remote code execution (RCE) on glibc-based Linux.
### Patches
#### Using prebuilt binaries provided by sharp?
Most people rely on the prebuilt binaries provided by sharp.
Please upgrade sharp to the latest version, currently 0.35.5, which provides librsvg 2.63.2.
#### Using a globally-installed librsvg?
Please ensure you are using the latest librsvg 2.63.2.
### Workarounds
Add the following to your code to prevent sharp from decoding SVG images.
```js
sharp.block({ operation: ["VipsForeignLoadSvg"] });
```
To avoid RCE, ensure you are using a `node` executable binary compiled as a Position Independent Executable (PIE). Most Linux package managers already use this security-hardening feature however be warned that the "official" Node.js binaries do not.
### References
- [CVE-2026-96889](https://www.cve.org/CVERecord?id=CVE-2026-96889)
- https://gitlab.gnome.org/GNOME/librsvg/-/work_items/1241
Block 7 is the library advisory from the Rust security database. It lists the librsvg releases that contain the fix and gives the aliases that tie the library flaw to the Next.js advisory. Red Hat's page says the flaw was fixed upstream in 2.63.1, while RustSec and sharp name 2.63.2: the three sources do not agree on the first fixed release. Source: rustsec.org and the Red Hat CVE page, read 25 October 2026.
Package: librsvg (crates.io)
Aliases: CVE-2026-96889, GHSA-cpvr-w4j5-2mpg
Patched:
>=2.63.2
>=2.62.4, <2.62.90
>=2.61.5, <2.61.90
>=2.60.3, <2.61.0
>=2.57.5, <2.57.90
Librsvg uses libxml2, a C library, to parse XML. When librsvg parses
an SVG document which has a nested Xinclude, an XML entity declaration
with a duplicate name as an existing one can cause a use-after-free error.
Block 8 collects the scores and ratings for the library flaw in one place: Red Hat's CVSS 3.1 vector and rating, Red Hat's statement and mitigation line, and CISA's enrichment. The values are printed as the records give them. Sources: CVE.org, the NVD and Red Hat, read 25 October 2026.
CVSS 3.1 vector (Red Hat): CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 3.1 base score: 7.8 HIGH
Red Hat severity rating: Important
CWE: CWE-416 Use After Free
SSVC (CISA-ADP, role CISA Coordinator, 2026-09-25T17:53:42Z):
Exploitation: poc
Automatable: no
Technical Impact: total
Red Hat statement: Exploitation requires user interaction, such as opening a malicious SVG file. The issue has been fixed upstream in version 2.63.1.
Red Hat mitigation: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base or stability.
Block 9 is the package metadata that explains the sharp range gap. It is a plain listing of fields from the registry's published records, laid out by this site (the values are as printed, the layout is derived). Source: registry.npmjs.org, read 25 October 2026.
next@15.5.27 optionalDependencies.sharp = ^0.34.3 || ^0.35.4
next@15.5.28 optionalDependencies.sharp = ^0.34.3 || ^0.35.5
next@16.4.0 optionalDependencies.sharp = ^0.35.4
next@16.4.1 optionalDependencies.sharp = ^0.35.5
sharp@0.34.5 engines.node = ^18.17.0 || ^20.3.0 || >=21.0.0
sharp@0.35.4 engines.node = >=20.9.0
sharp@0.35.5 engines.node = >=20.9.0
next@15.5.28 engines.node = ^18.18.0 || ^19.8.0 || >= 20.0.0
next@16.4.1 engines.node = >=20.9.0
Block 10 is the public Next.js source that matters for the SVG question. The first part is how Next.js prepares sharp: it blocks every loader and then unblocks a list that includes the SVG loader. The second is the check that refuses an SVG unless dangerouslyAllowSVG is true. The third is the bypass list that returns an SVG's bytes unchanged. Whether these lines are the whole story for the flaw is the open question in the section above. Source: the public vercel/next.js repository at tag v16.4.0, read 25 October 2026.
const ANIMATABLE_TYPES = [WEBP, PNG, GIF]
const BYPASS_TYPES = [SVG, ICO, ICNS, BMP, JXL, HEIC]
// ...
try {
_sharp = require('sharp') as typeof import('sharp').default
_sharp.block({ operation: ['VipsForeignLoad'] })
_sharp.unblock({
operation: [
'VipsForeignLoadHeif', // avif
'VipsForeignLoadJpeg',
'VipsForeignLoadNsgif',
'VipsForeignLoadPng',
'VipsForeignLoadSvg',
'VipsForeignLoadTiff',
'VipsForeignLoadWebp',
],
})
// ...
if (
upstreamType.startsWith('image/svg') &&
!nextConfig.images.dangerouslyAllowSVG
) {
opts.logger?.error(
`The requested resource "${href}" has type "${upstreamType}" but dangerouslyAllowSVG is disabled. Consider adding the "unoptimized" property to the <Image>.`
)
throw new ImageError(
400,
'"url" parameter is valid but image type is not allowed'
)
// ...
if (BYPASS_TYPES.includes(upstreamType)) {
return {
buffer: upstreamBuffer,
contentType: upstreamType,
maxAge,
etag: upstreamEtag,
upstreamEtag,
}
Block 11 is the Next.js documentation's own configuration for SVG, and the setting name that the 30 September advisory gives for Cache Components. These are the settings to search for in a repository. The docs print the first pair of settings together as the recommended safeguards when SVG is allowed. Sources: the Next.js documentation and the 30 September 2026 advisory, read 25 October 2026.
// next.config.js, from the Next.js docs (dangerouslyAllowSVG):
module.exports = {
images: {
dangerouslyAllowSVG: true,
contentDispositionType: 'attachment',
contentSecurityPolicy: "default-src 'self'; script-src 'none'; sandbox;",
},
}
// From the GHSA-h694-7cp9-m8p3 text: Cache Components enabled
cacheComponents: true
Block 12 is the pattern that Vercel's 22 September advisory printed for the earlier next/og flaw: attacker controlled text passed into SVG content. Netlify says the October SVG flaw is also reachable through ImageResponse. This is a different advisory (CVE-2026-94545, fixed in 16.3.6) and is shown only so a defender knows the shape to search for. It is not a payload. The Hacker News reports a researcher tying the October librsvg flaw to the September one. No primary read says so: Vercel's September post names Satori and speaks of other upstream dependencies. Source: the vercel/next.js repository advisory of 22 September 2026, read 25 October 2026.
import { ImageResponse } from 'next/og'
export async function GET(request: Request) {
const value = new URL(request.url).searchParams.get('value') ?? ''
return new ImageResponse(
<svg width="1200" height="630">
<title>{value}</title>
</svg>
)
}
Block 13 is a set of defensive commands. They are not from any primary: this site wrote them, marked derived, from the registry and tool documentation. The sharp.versions call is the one sharp's own documentation shows for reading the bundled library versions. The registry query is the bulk advisory endpoint that npm documents for npm audit. The last line reads whether the Node binary is a Position Independent Executable, the condition sharp's advisory raises: EXEC means it is not and DYN means it is (derived reading of readelf output, Linux only). None was run against a project by this site.
# 1. Which Next.js and sharp are actually resolved, including inside containers and CI images
npm ls next sharp --all
npm explain sharp
# pnpm why sharp or yarn why sharp
# 2. Which React server packages a non-Next framework resolves
npm ls react-server-dom-webpack react-server-dom-turbopack react-server-dom-parcel --all
# 3. The bundled library versions inside the running process (sharp documentation)
node -e "console.log(require('sharp').versions)"
# 4. Where the features are used in the repository
grep -rn "use cache" app src 2>/dev/null
grep -rn "cacheComponents\|dangerouslyAllowSVG\|next/og\|ImageResponse" . --include=*.js --include=*.ts --include=*.tsx --include=*.mjs --exclude-dir=node_modules
# 5. Ask the registry what it knows (the bulk advisory endpoint npm documents)
curl -s -X POST -H "Content-Type: application/json" -d '{"next":["16.4.0"]}' https://registry.npmjs.org/-/npm/v1/security/advisories/bulk
# 6. Is the Node binary a Position Independent Executable (Linux)
readelf -h "$(command -v node)" | grep Type
What a defender can hunt for, as inference and not from a primary: sustained full CPU on a Next.js worker process, which is how Vercel describes the denial of service, and crashes or restarts of the Node process after requests to image or og endpoints, which is how Netlify describes the effect on its platform. No indicator of compromise, domain, hash or address is published for any of the three flaws, so there is nothing to defang here.
The UK: three clocks, and what each leaves open
UK guidance gives two different numbers of days for the same update, and a third source gives none. The 14 October release is already past the shorter one. Both numbers count from 14 October, the day the fixed package was available, and the dates are derived from that.
UK guidance as read on 25 October 2026 on ncsc.gov.uk, gov.uk, legislation.gov.uk and ico.org.uk. Short quotations are exact. The last column says where each stops.
| Instrument | What it says | Where it stops |
|---|---|---|
| NCSC vulnerability management guidance, version 2.1, reviewed 1 May 2026 | Best practice timescale for internet facing services and software: update completed within 5 days, after testing. Counted from 14 October that ended on 19 October, 6 days before this read. It also says vendors can release updates at any time, which it calls out of band updates, so assessments must be possible at any time, and that a CVSS score is not a substitute for business impact. | A best practice timescale, not a legal duty. It does not address a flaw with no CVE id, and its asset step covers software and cloud but is not specific to a dependency inside a built application. |
| Cyber Essentials Requirements for IT Infrastructure v3.3, April 2026, Security Update Management | Software must be updated, including vulnerability fixes, within 14 days of release where the vendor describes the fix as critical or high risk, the CVSS v3 base score is 7 or above, or no detail is given. A bundled update with any critical or high issue must go in within 14 days. Software must also be removed when unsupported. Counted from 14 October, 14 days ends on 28 October, 3 days after this read. | Scope. Its software development section says bespoke and custom components of web applications are out of scope. It does not say whether an open source framework inside an in house application is in scope, and it defines software as including libraries. Ask the assessor, before the deadline, not after. |
| Software Security Code of Practice, DSIT and NCSC, 14 principles, voluntary, page updated 15 January 2026 | Principle 1.2: understand the composition of the software and assess risks linked to ingesting and maintaining third party components. Principle 3.3: processes for proactively detecting, prioritising and managing vulnerabilities in software components. Principle 3.5: provide timely security updates, patches and notifications to customers. | It is voluntary and sets no number of days. It is addressed to vendors of software sold, so it is a yardstick for Vercel and for any organisation that sells software built on Next.js, not a duty on a customer. |
| UK GDPR Article 32 and the ICO's data security guide | Controllers and processors must implement "appropriate technical and organisational measures to ensure a level of security appropriate to the risk", including a process for regularly testing, assessing and evaluating them. The ICO guide names vulnerability scanning and penetration testing, and says it may be sensible to assume your systems are vulnerable. | No timeframe for patching. The Data (Use and Access) Act 2025 changed only the wording of Article 32 paragraph 3, according to the legislation.gov.uk amendment note, and the ICO's page says the guidance is under review. Personal data is only in scope if the application processes it. |
| NCSC alert history | The NCSC issued an alert for CVE-2025-29927 in Next.js on 28 March 2025. | No alert was found for these flaws. A UK organisation should not wait for one: the 5 day window had closed before this read. |
The three clocks disagree by design: 5 days, 14 days, and no number at all. A flaw with no CVE id does not change any of them. Cyber Essentials counts the vendor's word critical, and Vercel gave it. The harder question for a UK organisation is not which clock applies but whether its asset list contains the application at all, including the preview deployments Netlify says stay reachable until deleted.
What to do, in the order worth doing
Take this with you
Defender actions, in order
- Inventory every Next.js application and its resolved version: repositories, built container images, serverless builds, preview deployments and branch deploys. Include any other framework that uses the react-server-dom packages.
- Upgrade each 16.x application to 16.4.1 or later (16.4.3 is the latest tag on 25 October) and each 15.x application to 15.5.28. For lines 14 and older no patched release exists: treat those applications as exposed and give each an owner and a migration date.
- On the 15.5 line, check the resolved sharp after the upgrade and require 0.35.5 or later. If the deployment is on Node 18, the fixed sharp cannot be installed without changing Node.
- Rebuild and redeploy, then confirm the running instances, not the checkout. Replace old replicas, cached image layers and preview deployments.
- Find where the three features are used: `use cache` and `cacheComponents`, Server Actions, SVG handling including `dangerouslyAllowSVG` and next/og. Record the result as an exposure note. Do not treat a negative result as clearance, because Vercel says to upgrade regardless.
- Check the platform: glibc based Linux or musl, and whether the Node binary is a Position Independent Executable. These matter for the SVG flaw according to Vercel and sharp.
- If you use the sharp block workaround while you upgrade, test that it holds inside the running Next.js process, because Next.js's own code unblocks the SVG loader the first time it loads sharp.
- Add the sources that carry these flaws first: the security advisories of the vercel/next.js, React and lovell/sharp repositories. Record GHSA ids in your register next to CVE ids, because one of these three has no CVE id.
- Write down the dates. Cyber Essentials gives 14 days from 14 October, ending on 28 October. If you will miss it, record the exception, the compensating control and the owner, and tell the assessor.
- Ask your host in writing what it patched and what it did not, and whether previews are covered. Netlify and Pantheon give different answers.
- Watch for exploitation reports for the library flaw: the Known Exploited Vulnerabilities catalogue, vendor posts and the librsvg and sharp pages. CISA's record already marks a public proof of concept for the library.
What could not be verified
- The Cloud Security Alliance note. Its site returned a browser check, which this site did not pass. Its figures, including the CVSS 9.5 and the missing CVE ids, were checked against the primaries instead.
- The librsvg issue. The host refused the request, so the content that CISA tags as an exploit was not read and is not described.
- Researcher and exploit claims. The Hacker News says a researcher ties the librsvg flaw to the September next/og flaw and that a working exploit for that flaw has been published. No primary read confirms either.
- Which fixes were postponed. Vercel's posts do not say. The link to the SVG and Server Actions flaws is inference.
- The vulnerable path. Vercel's advisory names none. The public source read does not show it. Nothing was tested.
- The block workaround and lockfile behaviour. Not tested, because testing needs native packages installed. The reasoning rests on the source, the registry metadata and the documentation.
- Vercel platform and other hosts. No October statement from Vercel's own platform, Cloudflare or AWS was found.
- Exploitation. None found in the primaries read. Absence is not proof.
- The Maintenance LTS end date for 15.x. The support page states no date.
- Time stamps. Read between 17:46 and 18:16 UTC on 25 October 2026. A CVE id, a listing, a score or a host statement could change within hours.
The question that exposes the gap
If a critical flaw is fixed in a release your scanner cannot name, because it has no CVE id and the advisory feed is a week behind, who in your organisation is subscribed to the place where it was actually published, and how many days did it take them the last time?
Key facts
Sources
- PrimaryVercel's post of 14 October 2026, Next.js Security Update for Upstream Vulnerabilities: the three issues, GHSA ids, CVE-2026-96889, fixed versions 16.4.1 and 15.5.28, the install lines, the related React advisories. Read in full.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryVercel's post of 8 October 2026 announcing the out of band update for 14 October: three issues, two critical and one high, two postponed from the September release.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryVercel's September 2026 security release post, 30 September: seven fixes in 16.3.8 and 15.5.27, one critical and one high fix postponed for upstream dependency delays, the cacheComponents setting named in an advisory summary.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryVercel's notice of the September release, dated 23 September and updated 30 September: seven vulnerabilities instead of nine, the remaining two (one critical, one high) pending upstream coordination.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryVercel's 22 September 2026 out of band update, 16.3.6 and 15.5.26, for the critical Node.js ImageResponse flaw GHSA-vcvr-r3jv-pc5j; names Satori and other upstream dependencies.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryVercel's 13 July 2026 post formalising a security release programme: roughly monthly releases with advance notice and ad hoc patches for urgent or exploited issues.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryIndex of Vercel's security posts, used to count the out of band releases and to date each notice.Vercel (Next.js blog)accessed 2026-10-25
- PrimaryGHSA-673q-mjm6-r5xr, the critical use cache remote code execution: text, versions 16.0.0 to 16.4.0, fixed 16.4.1, CVSS 4.0 9.5, published 14 October 2026 at 17:47 UTC. No CVE id.Vercel (GitHub advisory)accessed 2026-10-25
- PrimaryGHSA-2464-fhr4-w9xw, the critical image optimization remote code execution with CVE-2026-96889: text, versions, sharp 0.35.5 workaround, CVSS 4.0 9.5, published 14 October 2026 at 17:46 UTC.Vercel (GitHub advisory)accessed 2026-10-25
- PrimaryGHSA-p3m5-59mp-jv5r, the high severity Server Actions denial of service: text, versions, CVSS 4.0 8.2, published 14 October 2026 at 17:47 UTC.Vercel (GitHub advisory)accessed 2026-10-25
- PrimaryReact's critical advisory GHSA-xqc2-xf4c-x3h3: crafted payloads, extremely rare cases with multiple typed arrays and an attacker controlled value, react-server-dom 19.0.0 through 19.0.8, 19.1.0 through 19.1.9, 19.2.0 through 19.2.8 and 19.3.0, patched 19.0.9, 19.1.10, 19.2.9 and 19.3.1.React (GitHub advisory)accessed 2026-10-25
- PrimaryReact's high severity advisory GHSA-h3gv-c5rc-p453, the denial of service in Server Functions, paired by Vercel with the Server Actions advisory; its prose and structured version list differ.React (GitHub advisory)accessed 2026-10-25
- Primarysharp's advisory for the librsvg flaw: affected below 0.35.5, librsvg 2.63.2, the block workaround, the Position Independent Executable condition, CVSS 4.0 8.9. Published 30 September 2026.sharp (GitHub advisory)accessed 2026-10-25
- Primarysharp changelog for v0.35.5, 27 September 2026, with the sharp-libvips 1.3.4 release it bundles.sharpaccessed 2026-10-25
- Primarysharp documentation for versions, block and unblock: block and unblock act on libvips operations at runtime, and the versions object lists the bundled library versions.sharpaccessed 2026-10-25
- PrimaryRUSTSEC-2026-0305, the librsvg use after free: patched librsvg releases, aliases CVE-2026-96889 and GHSA-cpvr-w4j5-2mpg, issued 23 September 2026.RustSec Advisory Databaseaccessed 2026-10-25
- PrimaryCVE-2026-96889 record: published 23 September 2026, CVSS 3.1 7.8, workaround statement, timeline, and CISA's SSVC enrichment of 25 September (exploitation poc). Read through the CVE services API.CVE Program (Red Hat as numbering authority)accessed 2026-10-25
- PrimaryNVD record for CVE-2026-96889: status Awaiting Analysis, last modified 21 October 2026, affected data listing only Red Hat products. Read through the NVD API.NIST National Vulnerability Databaseaccessed 2026-10-25
- PrimaryCVE-2026-94482 record for the Server Actions denial of service: reserved 21 September, published 22 October 2026. Read through the CVE services API, with the NVD record.CVE Program (GitHub as numbering authority)accessed 2026-10-25
- PrimaryRed Hat's CVE page: Important rating, statement that exploitation requires user interaction, fixed upstream in 2.63.1, no mitigation.Red Hataccessed 2026-10-25
- PrimaryGitHub Advisory Database record for GHSA-673q: published to the database on 22 October 2026, no CVE id. The records for GHSA-2464 and GHSA-p3m5 were read the same way.GitHub Advisory Databaseaccessed 2026-10-25
- PrimaryAbout Dependabot alerts: alerts when a vulnerability is added to the Advisory Database; new vulnerabilities may take time to appear; only advisories reviewed by GitHub trigger alerts.GitHub Docsaccessed 2026-10-25
- Primarynpm audit documentation: the command submits the dependency description to the registry and documents the bulk advisory endpoint, which this site queried.npm Docsaccessed 2026-10-25
- PrimaryRegistry record for next: publish times for 15.5.28 and 16.4.1, sharp optionalDependencies ranges, engines, and the list of stable versions used for the range counts.npm registryaccessed 2026-10-25
- PrimaryRegistry record for sharp: publish time of 0.35.5 (27 September 2026) and node engine ranges for 0.34.5 and 0.35.5.npm registryaccessed 2026-10-25
- PrimaryRelease notes for v16.4.1, published 14 October 2026 at 17:47 UTC, listing the three advisories. The v15.5.28 release was read the same way.Vercel (GitHub release)accessed 2026-10-25
- PrimaryPublic Next.js source at tag v16.4.0: how sharp is prepared (block then unblock), the SVG refusal, and the bypass list. Quoted in the technical details.Vercel (public source)accessed 2026-10-25
- PrimaryNext.js image component documentation, last updated 28 September 2026: by default Next.js does not optimize SVG images, and the dangerouslyAllowSVG setting.Vercel (Next.js docs)accessed 2026-10-25
- PrimaryNext.js support policy: 16.x Active LTS, 15.x Maintenance LTS, 14.x and older unsupported, and the Maintenance LTS wording.Vercel (Next.js)accessed 2026-10-25
- PrimaryKnown Exploited Vulnerabilities catalogue, version 2026.10.23: none of the ids in this story is listed.CISAaccessed 2026-10-25
- PrimaryCISA's SSVC guide: the Exploitation values, including the definition of Public PoC.CISAaccessed 2026-10-25
- PrimaryNetlify's changelog of 14 October 2026: impact on its platform, the image CDN path, next/og ImageResponse, crashed invocation, previews that stay vulnerable.Netlifyaccessed 2026-10-25
- PrimaryPantheon's release note of 14 October 2026: customers update and redeploy; React package versions to use.Pantheonaccessed 2026-10-25
- PrimaryAlert AL-2026-148 of 20 October 2026 on the two critical Next.js flaws, noting that GHSA-673q has no CVE id as of publication.Cyber Security Agency of Singaporeaccessed 2026-10-25
- PrimaryNCSC alert of 28 March 2025 for CVE-2025-29927 in Next.js, used as the precedent for a Next.js alert. No NCSC alert for the October 2026 flaws was found.National Cyber Security Centreaccessed 2026-10-25
- PrimaryNCSC vulnerability management guidance version 2.1, reviewed 1 May 2026: update by default, and the best practice timescale of 5 days for internet facing services and software.National Cyber Security Centreaccessed 2026-10-25
- PrimaryNCSC guidance on triage: out of band vendor updates, assessments at any time, and CVSS not replacing business impact.National Cyber Security Centreaccessed 2026-10-25
- PrimaryCyber Essentials Requirements for IT Infrastructure v3.3, April 2026: Security Update Management (14 days, three triggers) and the software development scope note.National Cyber Security Centreaccessed 2026-10-25
- PrimarySoftware Security Code of Practice, page updated 15 January 2026: 14 principles in four themes, voluntary, including principles 1.2, 3.3 and 3.5.DSIT and NCSC (GOV.UK)accessed 2026-10-25
- PrimaryUK GDPR Article 32, Security of processing, with the amendment note for the Data (Use and Access) Act 2025 on paragraph 3.legislation.gov.ukaccessed 2026-10-25
- PrimaryICO guide to data security: appropriate measures, vulnerability scanning and penetration testing, and the note that the guidance is under review.Information Commissioner's Officeaccessed 2026-10-25
- PrimaryReact blog index: no post on the October 2026 advisories; the latest security post is from 11 December 2025.Reactaccessed 2026-10-25
- Reported byThe Hacker News, 15 October 2026: coverage used as a pointer and for the claims this site could not confirm (researcher link to the September flaw, a published exploit for it). Secondary.The Hacker Newsaccessed 2026-10-25


