Wysoka

OpenNext Cloudflare: Przechwytywanie pamięci podręcznej może ominąć ochronę middleware dla zakodowanych ścieżek

  • Ujawniono: 15.10.2026
  • Aktualizacja: 16.10.2026 08:00

Podsumowanie

Gdy przechwytywanie pamięci podręcznej jest włączone, @opennextjs/cloudflare może odmiennie interpretować ścieżki zakodowane procentowo (percent-encoded) podczas dopasowywania middleware oraz podczas wyszukiwania w pamięci podręcznej.

Zakodowane żądanie może nie pasować do reguł middleware autoryzacyjnego, a następnie zostać zdekodowane do klucza pamięci podręcznej chronionej trasy. W rezultacie zbuforowana odpowiedź może zostać zwrócona bez wywołania middleware.

enableCacheInterception jest domyślnie wyłączone.

Wpływ

Zdalny, nieuwierzytelniony atakujący może pobrać zbuforowaną zawartość tras, które miały być chronione przez middleware.

Aplikacja jest podatna, gdy:

  • jawnie włącza enableCacheInterception;
  • polega na middleware w zakresie kontroli dostępu; oraz
  • posiada pasującą trasę w pamięci podręcznej.

Szczegóły

Dopasowywanie middleware używało wcześniej zakodowanej ścieżki żądania, podczas gdy mechanizm przechwytywania pamięci podręcznej dekodował ścieżkę przed wyborem wpisu z pamięci podręcznej.

Dla przykładu rozważmy aplikację zawierającą:

  • wzorzec dopasowania middleware /admin/:path*;
  • middleware zwracający 401 Authentication required dla /admin;
  • statycznie wygenerowaną, zbuforowaną trasę /admin; oraz
  • włączone przechwytywanie pamięci podręcznej:
ts
export default defineCloudflareConfig({
  incrementalCache: staticAssetsIncrementalCache,
  enableCacheInterception: true,
});

Atakujący może wysłać żądanie:

http
GET /%61dmin

Zakodowana ścieżka nie pasuje do /admin/:path*, przez co middleware autoryzacyjny nie zostaje wywołany. Następnie przechwytywanie pamięci podręcznej dekoduje %61dmin do admin i może zwrócić zbuforowaną odpowiedź dla /admin:

http
HTTP/1.1 200 OK
x-opennext-cache: HIT

Protected content

Nieprawidłowo sformatowane ścieżki ujawniły dodatkową niespójność. Na przykład:

http
GET /%61dmin/%ZZ

Poprzednia implementacja dekodowała każdy segment niezależnie. Dekodowała ona %61dmin do admin, lecz zachowywała uszkodzony segment %ZZ, co pozwalało na kontynuowanie wyszukiwania w pamięci podręcznej z użyciem częściowo zdekodowanej ścieżki.

Poprawki

Poprawka ujednolica obsługę zakodowanych ścieżek między dopasowywaniem middleware a wyszukiwaniem w pamięci podręcznej oraz odrzuca nieprawidłowo sformatowane ścieżki zamiast częściowo je dekodować. Zobacz poprawki upstream w opennextjs-aws#1199 i opennextjs-aws#1200..

Użytkownicy powinni dokonać aktualizacji do wersji @opennextjs/cloudflare@1.20.2 lub nowszej.

Co trzeba zrobić

Zaktualizuj do wersji @opennextjs/cloudflare@1.20.2 lub nowszej. Jeśli natychmiastowa aktualizacja nie jest możliwa, zastosuj następujące obejścia:

  1. Wyłącz przechwytywanie pamięci podręcznej poprzez usunięcie enableCacheInterception: true.
  2. Wymuś autoryzację bezpośrednio w procedurach obsługi chronionych tras, zamiast polegać wyłącznie na middleware.
  3. Odrzucaj zakodowane ścieżki prowadzące do chronionych tras na poziomie zaufanego serwera proxy, zanim dotrą one do usługi Worker.

Dodanie poszczególnych zakodowanych wariantów dopasowań nie stanowi pełnego rozwiązania, ponieważ ścieżki mogą mieć wiele równoważnych reprezentacji.

Czego dotyczy

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

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka npm @opennextjs/cloudflare >= 0.3.0, < 1.20.2 1.20.2

Odnośniki

Ocena CVSS 7.5/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Słabość (CWE)
CWE-177, CWE-180
Platforma
npm
Paczka
@opennextjs/cloudflare
Ujawniono
15.10.2026
Aktualizacja
16.10.2026 08:00

Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.

OSV / GitHub Advisory Database - GHSA-2vc4-c4r6-p6v6 - CC BY 4.0

Historia podatności: @opennextjs/cloudflare

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

Wszystkich wpisów
2
Pierwsza → ostatnia
06.2025 10.2026
Bez poprawki
0
Wykorzystywana w atakach
0

Rozkład istotności

  • Wysoka 2

Ujawnienia w latach

  1. 2025: 1
  2. 2026: 1
  1. OpenNext Cloudflare: Przechwytywanie pamięci podręcznej może ominąć ochronę middleware dla zakodowanych ścieżek ten wpis
    Wysoka · 7.5 CVE-2026-100409 >= 0.3.0, < 1.20.2 1.20.2

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.