GHSA-3g8h-86w9-wvmq

Suggest an improvement
Source
https://github.com/advisories/GHSA-3g8h-86w9-wvmq
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-3g8h-86w9-wvmq/GHSA-3g8h-86w9-wvmq.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-3g8h-86w9-wvmq
Aliases
  • CVE-2026-44572
Related
Published
2026-05-11T16:12:07Z
Modified
2026-05-13T03:44:31.073110441Z
Severity
  • 3.7 (Low) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L CVSS Calculator
Summary
Next.js's Middleware / Proxy redirects can be cache-poisoned
Details

Impact

Next.js uses the x-nextjs-data request header for internal data requests. On affected versions, an external client could send this header on a normal request to a path handled by middleware that returns a redirect.

When that happened, the middleware/proxy could treat the request as a data request and replace the standard Location redirect header with the internal x-nextjs-redirect header. Browsers do not follow x-nextjs-redirect, so the response became an unusable redirect for normal clients.

If the application was deployed behind a CDN or reverse proxy that caches 3xx responses without varying on this header, a single attacker request could poison the cached redirect response for the affected path. Subsequent visitors could then receive a cached redirect response without a Location header, causing a denial of service for that redirect path until the cache entry expired or was purged.

Affected scenarios

This affects applications that: - use middleware or proxy redirects - are deployed behind a caching CDN or reverse proxy - allow 3xx responses on those paths to be cached without differentiating internal data requests from normal requests

Fix

The fix stops trusting x-nextjs-data by itself for middleware redirect handling. A request is now treated as an internal data request only when it is validated as such by internal routing state, preserving legitimate data-request redirect behavior while preventing external header injection from changing normal redirect responses.

Workarounds

Before upgrading, users can reduce risk by: - configuring the CDN or reverse proxy to vary its cache key on x-nextjs-data for affected responses

Database specific
{
    "cwe_ids": [
        "CWE-349"
    ],
    "github_reviewed_at": "2026-05-11T16:12:07Z",
    "github_reviewed": true,
    "severity": "LOW",
    "nvd_published_at": null
}
References

Affected packages

npm / next

Package

Affected ranges

Type
SEMVER
Events
Introduced
12.2.0
Fixed
15.5.16

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-3g8h-86w9-wvmq/GHSA-3g8h-86w9-wvmq.json"

npm / next

Package

Affected ranges

Type
SEMVER
Events
Introduced
16.0.0
Fixed
16.2.5

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-3g8h-86w9-wvmq/GHSA-3g8h-86w9-wvmq.json"