Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-3g8h-86w9-wvmq

Опубликовано: 11 мая 2026
Источник: github
Github: Прошло ревью
CVSS3: 3.7

Описание

Next.js's Middleware / Proxy redirects can be cache-poisoned

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

Пакеты

Наименование

next

npm
Затронутые версииВерсия исправления

>= 12.2.0, < 15.5.16

15.5.16

Наименование

next

npm
Затронутые версииВерсия исправления

>= 16.0.0, < 16.2.5

16.2.5

EPSS

Процентиль: 21%
0.00284
Низкий

3.7 Low

CVSS3

Дефекты

CWE-349

Связанные уязвимости

CVSS3: 5.9
redhat
3 месяца назад

Next.js is a React framework for building full-stack web applications. From 12.2.0 to before 15.5.16 and 16.2.5, an external client could send a x-nextjs-data 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. This vulnerability is fixed in 15.5.16 and 16.2.5.

CVSS3: 3.7
nvd
3 месяца назад

Next.js is a React framework for building full-stack web applications. From 12.2.0 to before 15.5.16 and 16.2.5, an external client could send a x-nextjs-data 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. This vulnerability is fixed in 15.5.16 and 16.2.5.

CVSS3: 3.7
fstec
3 месяца назад

Уязвимость программной платформы создания веб-приложений Next.js, связанная с загрузкой внешних ненадёжных данных вместе с надёжными данными, позволяющая нарушителю вызвать отказ в обслуживании

EPSS

Процентиль: 21%
0.00284
Низкий

3.7 Low

CVSS3

Дефекты

CWE-349