CRITICAL✓ PATCH🇬🇧 English

CVE-2025-29927

Pominięcie autoryzacji w middleware Next.js przez nagłówek x-middleware-subrequest

CVSS 9.1v3.1pub. 2025-03-21upd. 2025-09-10

Podatność w frameworku Next.js (Vercel) umożliwia atakującemu całkowite ominięcie mechanizmów autoryzacji zaimplementowanych w middleware aplikacji. Zagrożenie jest krytyczne, ponieważ nie wymaga uwierzytelnienia ani interakcji użytkownika, a może prowadzić do nieuprawnionego dostępu do chronionych zasobów.

Pokaż oryginał (EN)

Next.js is a React framework for building full-stack web applications. Starting in version 1.11.4 and prior to versions 12.3.5, 13.5.9, 14.2.25, and 15.2.3, it is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware. If patching to a safe version is infeasible, it is recommend that you prevent external user requests which contain the x-middleware-subrequest header from reaching your Next.js application. This vulnerability is fixed in 12.3.5, 13.5.9, 14.2.25, and 15.2.3.

🤖 Analiza AI
Jak działa

Atakujący wysyła żądanie HTTP zawierające specjalnie spreparowany nagłówek x-middleware-subrequest. Next.js traktuje takie żądanie jako wewnętrzne podzapytanie middleware i pomija wykonanie logiki autoryzacyjnej zdefiniowanej w warstwie middleware. W efekcie kontrole dostępu — niezależnie od ich implementacji — są ignorowane, a żądanie trafia do chronionych zasobów bez weryfikacji uprawnień. Problem dotyczy wszystkich sprawdzeń autoryzacyjnych umieszczonych wyłącznie w middleware.

Skutki

Atakujący może uzyskać nieautoryzowany dostęp do chronionych zasobów aplikacji oraz manipulować danymi, do których normalnie nie powinien mieć uprawnień, co odpowiada naruszeniu poufności i integralności (CWE-285, CWE-863).

Mitygacja

Należy zaktualizować Next.js do wersji 12.3.5, 13.5.9, 14.2.25 lub 15.2.3. Jeśli aktualizacja nie jest możliwa do natychmiastowego wdrożenia, producent zaleca blokowanie na poziomie infrastruktury (reverse proxy, firewall, load balancer) wszystkich przychodzących żądań zewnętrznych zawierających nagłówek x-middleware-subrequest, tak aby nie docierały do aplikacji Next.js.

Kogo dotyczy

Next.js w wersjach od 1.11.4 do 12.3.4, od 13.0.0 do 13.5.8, od 14.0.0 do 14.2.24 oraz od 15.0.0 do 15.2.2 — wszystkie warianty oparte o framework Next.js firmy Vercel, w których logika autoryzacji jest zaimplementowana w middleware.

Uwagi

Producent (Vercel) opublikował oficjalne security advisory GHSA-f82v-jwr5-mffw. Podatność dotyczy wyłącznie aplikacji, w których autoryzacja jest realizowana w warstwie middleware — jeśli sprawdzenia uprawnień są implementowane na poziomie poszczególnych route handlerów lub stron, ryzyko jest mniejsze.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
  • Vercel Next.js

    APP
    Vercel
    11.1.4 – 12.3.5 (bez)13.0.0 – 13.5.9 (bez)14.0.0 – 14.2.25 (bez)15.0.0 – 15.2.3 (bez)
🟢
PATCH DOSTĘPNY
Aktualizacja od producenta gotowa. Wdrożenie w ramach standardowego cyklu.
CWE
Referencje

Powiązane podatności

CVE-2025-55182CRITICAL10.0⚠ KEVPL ✓ten sam produkt

RCE bez uwierzytelnienia w React Server Components (deserializacja)

CVE-2026-64645HIGH8.3PL ✓ten sam produkt

Next.js: SSRF i Open Redirect przez niekontrolowane reguły rewrites/redirects

CVE-2026-64642HIGH8.3PL ✓ten sam produkt

Ominięcie uwierzytelniania middleware w Next.js App Router z Turbopack

CVE-2026-64641HIGH8.2PL ✓ten sam produkt

Vercel Next.js — nadmierne zużycie CPU przez spreparowane żądania (DoS)

CVE-2026-64649HIGH8.3PL ✓ten sam produkt

SSRF w Next.js — przekierowanie żądań przez Server Actions do złośliwego hosta