Niska

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

  • Ujawniono: 11.05.2026
  • Aktualizacja: 11.10.2026 10:22

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

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm next >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5

Odnośniki

Ocena CVSS 3.7/10
Wektor CVSS
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
Słabość (CWE)
CWE-349
Platforma
npm
Paczka
next
Ujawniono
11.05.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-3g8h-86w9-wvmq - CC BY 4.0

Historia podatności: next

Wszystkie opisane podatności tej paczki (Paczka npm), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (73) w archiwum
Wszystkich wpisów
73
Pierwsza → ostatnia
12.2017 10.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 5
  • Wysoka 27
  • Średnia 32
  • Niska 9

Ujawnienia w latach

  1. 2017: 1
  2. 2018: 2
  3. 2019: 0
  4. 2020: 3
  5. 2021: 3
  6. 2022: 3
  7. 2023: 1
  8. 2024: 6
  9. 2025: 14
  10. 2026: 40
Istotność:
  1. Wysoka · 6.5 CVE-2026-94483 >= 16.0.0, < 16.3.8 16.3.8
  2. Krytyczna ghsa-vcvr-r3jv-pc5j >= 16.2.0, < 16.3.6 16.3.6
  3. Krytyczna ghsa-2xp9-vwfh-vxw4 >= 10.0.0, < 15.5.24, >= 16.0.0, < 16.3.3 15.5.24, 16.3.3
  4. Krytyczna · 9.0 CVE-2026-75604 >= 13.4.0, < 15.5.24, >= 16.0.0, < 16.3.3 15.5.24, 16.3.3
  5. Wysoka CVE-2026-64649 >= 14.1.1, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  6. Wysoka CVE-2026-64645 >= 12.0.0, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  7. Wysoka CVE-2026-64641 >= 13.0.0, < 15.5.21, >= 16.0.0, < 16.2.11 15.5.21, 16.2.11
  8. Wysoka · 7.5 CVE-2026-45109 >= 15.2.0, < 15.5.18, >= 16.0.0, < 16.2.6 15.5.18, 16.2.6
  9. Next.js's Middleware / Proxy redirects can be cache-poisoned ten wpis
    Niska · 3.7 CVE-2026-44572 >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  10. Wysoka · 7.5 CVE-2026-44579 >= 15.0.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  11. Wysoka · 8.6 CVE-2026-44578 >= 13.4.13, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  12. Wysoka · 7.5 CVE-2026-44575 >= 15.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  13. Wysoka · 8.1 CVE-2026-44574 >= 15.4.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  14. Wysoka · 7.5 CVE-2026-44573 >= 12.2.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  15. Wysoka · 7.5 ghsa-8h8q-6873-q5fj >= 13.0.0, < 15.5.16, >= 16.0.0, < 16.2.5 15.5.16, 16.2.5
  16. Wysoka · 7.5 ghsa-q4gf-8mx6-v5v3 >= 13.0.0, < 15.5.15, >= 16.0.0-beta.0, < 16.2.3 15.5.15, 16.2.3
  17. Wysoka · 7.5 ghsa-h25m-26qc-wcjf >= 13.0.0, < 15.0.8, >= 15.1.1-canary.0, < 15.1.12, >= 15.2.0-canary.0, < 15.2.9, >= 15.3.0-canary.0, < 15.3.9, >= 15.4.0-canary.0, < 15.4.11, >= 15.5.1-canary.0, < 15.5.10, >= 15.6.0-canary.0, < 15.6.0-canary.61, >= 16.0.0-beta.0, < 16.0.11, >= 16.1.0-canary.0, < 16.1.5 15.0.8, 15.1.12, 15.2.9, 15.3.9, 15.4.11, 15.5.10, 15.6.0-canary.61, 16.0.11, 16.1.5
  18. Wysoka · 7.5 ghsa-5j59-xgg2-r9c4 >= 13.3.1-canary.0, < 14.2.35, >= 15.0.6, < 15.0.7, >= 15.1.10, < 15.1.11, >= 15.2.7, < 15.2.8, >= 15.3.7, < 15.3.8, >= 15.4.9, < 15.4.10, >= 15.5.8, < 15.5.9, >= 15.6.0-canary.59, < 15.6.0-canary.60, >= 16.0.9, < 16.0.10, >= 16.1.0-canary.17, < 16.1.0-canary.19 14.2.35, 15.0.7, 15.1.11, 15.2.8, 15.3.8, 15.4.10, 15.5.9, 15.6.0-canary.60, 16.0.10, 16.1.0-canary.19
  19. Wysoka · 7.5 ghsa-mwv6-3258-q52c >= 13.3.0, < 14.2.34, >= 15.0.0-canary.0, < 15.0.6, >= 15.1.1-canary.0, < 15.1.10, >= 15.2.0-canary.0, < 15.2.7, >= 15.3.0-canary.0, < 15.3.7, >= 15.4.0-canary.0, < 15.4.9, >= 15.5.1-canary.0, < 15.5.8, >= 15.6.0-canary.0, < 15.6.0-canary.59, >= 16.0.0-beta.0, < 16.0.9, >= 16.1.0-canary.0, < 16.1.0-canary.17 14.2.34, 15.0.6, 15.1.10, 15.2.7, 15.3.7, 15.4.9, 15.5.8, 15.6.0-canary.59, 16.0.9, 16.1.0-canary.17
Pokaż więcej (13) Widać 20 z 33

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.