TanStack Router: Nieuwierzytelniony podatny na reflected XSS w odpowiedziach funkcji serwerowych TanStack Start
Wpływ
Nieuwierzytelniony atakujący może spreparować adres URL do funkcji serwerowej w podatnej aplikacji TanStack Start. Jeśli użytkownik otworzy ten link, aplikacja może zwrócić kontrolowany przez atakującego kod HTML z własnego pochodzenia (origin) i wykonać tam skrypt JavaScript atakującego. Skrypt ten ma dostęp do danych tego samego pochodzenia i może wysyłać żądania z uprawnieniami ofiary.
Przyczyna
Warstwa transportowa funkcji serwerowych może przekazywać pola ładunku (payload) żądania do wewnętrznego stanu oprogramowania pośredniczącego (middleware), zamiast ograniczać je do publicznych pól wejściowych. Zniekształcony ładunek może pozostawić kontrolowany przez atakującego wynik na ścieżce obsługi błędów. Następnie mechanizm obsługi odpowiedzi może potraktować obiekt przypominający odpowiedź jako odpowiedź HTTP.
Podatne wersje
Podatne są opublikowane wersje pakietów @tanstack/start-server-core, @tanstack/react-start, @tanstack/solid-start oraz @tanstack/vue-start od wersji 1.143.12 do (z wyłączeniem) ich odpowiednich wersji załatanych. Wersje zawierające poprawkę to @tanstack/start-server-core@1.169.39, @tanstack/react-start@1.168.60, @tanstack/solid-start@1.168.57 oraz @tanstack/vue-start@1.168.56.
Rozwiązanie
Poprawka ogranicza dane wejściowe przekazywane przez klienta do funkcji serwerowych wyłącznie do pól publicznych i weryfikuje odpowiedzi na granicy serwera. Należy zaktualizować pakiety do odpowiednich wersji załatanych.
Tymczasowe obejścia
Dla skonfigurowanej ścieżki funkcji serwerowych, zazwyczaj /_serverFn/*, reguła na brzegu sieci (edge) lub WAF może blokować żądania bez nagłówka x-tsr-serverFn: true oraz nawigacje przeglądarki, takie jak Sec-Fetch-Mode: navigate lub Accept: text/html. Rygorystyczna polityka bezpieczeństwa treści (CSP) w odpowiedziach funkcji serwerowych może stanowić dodatkowe ograniczenie po stronie przeglądarki. Są to jedynie zalecenia łagodzące, a nie pełna naprawa; nagłówek ten jest kontrolowany przez klienta i nie stanowi uwierzytelnienia. Należy przetestować reguły pod kątem prawidłowych funkcji GET i POST oraz zastosować odpowiednie poprawki wsteczne (backporty), jeśli to możliwe.
Podziękowania
Zespół Lovable pomógł w wykryciu i zgłoszeniu tego problemu.
Co trzeba zrobić
Należy zaktualizować pakiety @tanstack/start-server-core, @tanstack/react-start, @tanstack/solid-start oraz @tanstack/vue-start do wersji odpowiednio: @tanstack/start-server-core@1.169.39, @tanstack/react-start@1.168.60, @tanstack/solid-start@1.168.57 i @tanstack/vue-start@1.168.56. Jako rozwiązanie tymczasowe można wdrożyć reguły WAF dla ścieżki /_serverFn/* blokujące brak nagłówka x-tsr-serverFn: true lub nawigacje Sec-Fetch-Mode: navigate/Accept: text/html oraz zastosować restrykcyjną politykę CSP.
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Paczka npm | @tanstack/react-start | >= 1.143.12, < 1.168.60 | 1.168.60 |
| Paczka npm | @tanstack/solid-start | >= 1.143.12, < 1.168.57 | 1.168.57 |
| Paczka npm | @tanstack/start-server-core | >= 1.143.12, < 1.169.39 | 1.169.39 |
| Paczka npm | @tanstack/vue-start | >= 1.143.12, < 1.168.56 | 1.168.56 |
Odnośniki
- https://github.com/TanStack/router/security/advisories/GHSA-qx66-fv34-fjm8
- https://nvd.nist.gov/vuln/detail/CVE-2026-102989
- https://github.com/TanStack/router/pull/8573
- https://github.com/TanStack/router/commit/d521abd71c69f1ff010bb3def4d417cb5fa058cb
- https://github.com/TanStack/router
- https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747
- Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N- Słabość (CWE)
CWE-79- Platforma
- npm
- Paczka
@tanstack/react-start, @tanstack/solid-start, @tanstack/start-server-core- Ujawniono
- 15.10.2026
- Aktualizacja
- 15.10.2026 23:19
Źródła i licencje · Redakcja lub tłumaczenie: DockRay. Zachowano prawa źródeł i obowiązujące licencje.
OSV / GitHub Advisory Database - GHSA-qx66-fv34-fjm8 - CC BY 4.0
Historia podatności: @tanstack/react-start
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
- 05.2026 10.2026
- Bez poprawki
- 0
- Wykorzystywana w atakach
- 1
Rozkład istotności
- Krytyczna 2
Ujawnienia w latach
- 2026: 2
-
TanStack Router: Nieuwierzytelniony podatny na reflected XSS w odpowiedziach funkcji serwerowych TanStack Start ten wpis
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.