FixVibe
Covered by FixVibecritical

CVE-2025-29927: Next.js Obejście autoryzacji oprogramowania pośredniego

Krytyczna luka w Next.js umożliwia atakującym ominięcie kontroli autoryzacji zaimplementowanych w oprogramowaniu pośrednim. Fałszując wewnętrzne nagłówki, żądania zewnętrzne mogą udawać autoryzowane żądania podrzędne, co prowadzi do nieautoryzowanego dostępu do chronionych tras i danych.

CVE-2025-29927GHSA-F82V-JWR5-MFFWCWE-863CWE-285

Wpływ

Osoba atakująca może ominąć logikę bezpieczeństwa i kontrole autoryzacji w aplikacjach Next.js, potencjalnie uzyskując pełny dostęp do ograniczonych zasobów [S1]. Luka ta została sklasyfikowana jako krytyczna z wynikiem CVSS 9,1, ponieważ nie wymaga żadnych uprawnień i można ją wykorzystać w sieci bez interakcji użytkownika. [S2].

Główna przyczyna

Luka wynika ze sposobu, w jaki Next.js przetwarza wewnętrzne żądania podrzędne w ramach swojej architektury oprogramowania pośredniego [S1]. Aplikacje korzystające z oprogramowania pośredniczącego do autoryzacji (CWE-863) są podatne, jeśli nie sprawdzają prawidłowo pochodzenia wewnętrznych nagłówków [S2]. W szczególności osoba atakująca z zewnątrz może dołączyć nagłówek x-middleware-subrequest do swojego żądania, aby oszukać platformę i potraktować żądanie jako już autoryzowaną operację wewnętrzną, skutecznie pomijając logikę zabezpieczeń oprogramowania pośredniego [S1].

Jak FixVibe to testuje

FixVibe uwzględnia to teraz jako aktywną kontrolę bramkową. Po weryfikacji domeny active.nextjs.middleware-bypass-cve-2025-29927 szuka punktów końcowych Next.js, które odrzucają żądanie linii bazowej, a następnie uruchamia wąską sondę kontrolną pod kątem warunku obejścia oprogramowania pośredniego. Raportuje tylko wtedy, gdy chroniona trasa zmienia się z odmowy na dostępną w sposób zgodny z CVE-2025-29927, a monit o naprawę koncentruje działania naprawcze na aktualizacji Next.js i blokowaniu wewnętrznego nagłówka oprogramowania pośredniego na krawędzi do czasu wprowadzenia poprawki.

Poprawki betonu

  • Aktualizacja Next.js: Natychmiast zaktualizuj swoją aplikację do poprawionej wersji: 12.3.5, 13.5.9, 14.2.25 lub 15.2.3 [S1, S2].
  • Ręczne filtrowanie nagłówków: Jeśli natychmiastowa aktualizacja nie jest możliwa, skonfiguruj zaporę aplikacji sieci Web (WAF) lub odwrotne proxy, aby usunąć nagłówek x-middleware-subrequest ze wszystkich przychodzących żądań zewnętrznych, zanim dotrą one do serwera Next.js [S1].
  • Wdrożenie Vercel: Wdrożenia hostowane na platformie Vercel są aktywnie chronione przez zaporę ogniową platformy [S2].