Podatności Nuxt
23 znanych podatności CVE w Nuxt, przetłumaczonych i ocenionych.
- CVE-2026-120309Niskie
Nuxt od wersji 4.6.0 przed 4.6.2 zawiera podatność mylenia parametrów trasy w getRouterParam i getRouterParams. Atakujący może zwrócić wartość parametru inną niż dopasowana przez h3, wysyłając ścieżki z zakodowanym znakiem zapytania (%3F), przez co kontrole autoryzacji używają wartości z helpera Nuxt, a wybór zasobu opiera się na event.context.params.
- CVE-2026-71319Krytyczne
Nuxt przed wersją 3.3.1 w trybie deweloperskim udostępnia nieuwierzytelniony kanał RPC przez WebSocket Vite HMR. Atakujący, który może połączyć się z portem HMR, może wywołać metody takie jak updateOptions() i openInEditor(), co pozwala na wykonanie dowolnego programu na maszynie dewelopera.
- CVE-2026-119201Średnie
W Nuxt w wersjach od 4.6.0 do 4.6.3 serwer deweloperski zapisuje wygenerowany appSecret w pliku <buildDir>/app-secret (domyślnie .nuxt/app-secret) w katalogu dostępnym przez konfigurację Vite server.fs. Klient z bezpośrednim dostępem HTTP do wystawionego serwera deweloperskiego może pobrać ten plik, użyć deriveSecret() do wyliczenia pochodnych sekretów (np. domyślnego hasła useSession) i sfałszować ciasteczka sesji akceptowane przez ten serwer. Domyślne wiązanie do localhost ogranicza ekspozycję zdalną, a buildy produkcyjne i serwery z jawnie skonfigurowanym appSecret nie są podatne. Problem naprawiono w wersji 4.6.3.
- CVE-2026-119200Średnie
W Nuxt w wersjach od 4.6.0 do 4.6.3 framework rozwiązuje literalne lub procentowo zakodowane segmenty kropkowe przed wyrenderowaniem strony, podczas gdy routing Nitro, sprawdzenia server/middleware i reguły tras serwera oceniają ścieżkę nierozwiązaną. Żądanie takie jak /%2e/admin może wyrenderować app/pages/admin.vue wraz z danymi renderowanymi po stronie serwera, podczas gdy sprawdzenia kluczowane na /admin, przekierowania i nagłówki bezpieczeństwa per trasa nie zadziałają. Handlery API, appMiddleware, Nuxt 3 oraz Nuxt 4.0.0–4.5.x nie są podatne, a wykorzystanie wymaga klienta wysyłającego segmenty kropkowe bez normalizacji przeglądarki. Problem naprawiono w wersji 4.6.3.
- CVE-2026-119199Średnie
W Nuxt w wersjach od 3.0.0 do 4.6.3 serwer deweloperski może ujawnić pakiet deweloperski Nitro 2 pod <buildDir>/dev/index.mjs poprzez serwowanie plików Vite, gdy serwer jest osiągalny przez HTTP. Nitro wstawia do tego pakietu prywatne wartości runtimeConfig rozwiązywane w czasie budowania, w tym sekrety skonfigurowane w nuxt.config, a Nuxt 4.6.0 i nowsze wstawiają także wygenerowany deweloperski appSecret. Domyślne wiązanie do localhost ogranicza ekspozycję zdalną, buildy produkcyjne i Nitro 3 nie są podatne, a konfiguracja dostarczana wyłącznie przez zmienne środowiskowe NUXT_* przy starcie serwera nie jest wstawiana. Problem naprawiono w wersji 4.6.3.
- CVE-2026-119198Średnie
W Nuxt w wersjach od 4.6.0 do 4.6.3 klient z dostępem TCP do wystawionego serwera deweloperskiego może wysłać zdarzenie nuxt:dev:client-error przez gniazdo HMR z bezwzględną ścieżką pliku na końcu komunikatu. Serwer deweloperski odczytuje ten plik podczas budowania raportu błędu klienta i zwraca jego zawartość przez nakładkę błędu, kanał błędów deweloperskich i raport terminala, omijając listę dozwolonych Vite server.fs. Domyślne wiązanie do localhost ogranicza ekspozycję zdalną, żądania cross-origin z przeglądarki są odrzucane, buildy produkcyjne i Nuxt 3 nie są podatne, a interakcja z przeglądarką nie jest wymagana. Problem naprawiono w wersji 4.6.3.
- CVE-2026-114133Średnie
Framework Nuxt w wersjach od 3.13.0 do 4.6.2 zawiera podatność polegającą na tym, że renderer server-island serializuje surowe dane wejściowe useHeadSafe bez zachowania znacznika bezpiecznego wejścia, a NuxtIsland wstawia je do nagłówka strony jako zwykły wpis. Aplikacja przekazująca dane kontrolowane przez atakującego do useHeadSafe w komponencie .server.vue lub renderowanym przez NuxtIsland może wyświetlić wartości normalnie usuwane przez listę dozwolonych, w tym atrybuty obsługi zdarzeń lub wykonywalną treść skryptu, co prowadzi do przechowywanego XSS w domenie aplikacji. Problem naprawiono w wersji 4.6.2.
- CVE-2026-114132Średnie
W Nuxt przed wersją 4.6.2 strony są domyślnie rozwiązywane bez rozróżniania wielkości liter, podczas gdy Nitro dopasowuje klucze reguł tras po stronie serwera z rozróżnianiem wielkości liter. Żądanie różniące się tylko wielkością liter może zostać wyrenderowane bez zamierzonej reguły serwera, pomijając przekierowania, nagłówki, proxy, ssr: false i noScripts. Aplikacje ustawiające router.options.sensitive: true w nuxt.config nie są dotknięte.
- CVE-2026-114131Średnie
Nuxt, framework do tworzenia aplikacji Vue.js, w wersjach od 3.11.0 do 3.21.4 i 4.4.4 porównuje klucze reguł tras z surową ścieżką żądania, podczas gdy rozwiązywanie tras dekoduje parametry dynamiczne i catch-all. Pozwala to segmentowi zakodowanemu procentowo na rozwiązanie do chronionej strony bez dopasowania wpisu routeRules przeznaczonego dla tej ścieżki, w wyniku czego appMiddleware może zostać pominięty podczas renderowania po stronie serwera, a nieuwierzytelniony żądający może otrzymać chronioną stronę i jej dane SSR.
- CVE-2026-114130Niskie
W frameworku Nuxt przed wersją 4.6.0 niekompletna poprawka CVE-2026-53722 pozwala aplikacji z wyłączonymi stronami renderować URL zdolny do wykonania skryptu przez NuxtLink, gdy dane kontrolowane przez atakującego przekazane do atrybutu to są poprzedzone znakiem kontrolnym ASCII C0. Router bez stron klasyfikuje wartość jako trasę wewnętrzną przed wcześniejszym sprawdzeniem protokołu i przekazuje ją do href; przeglądarki usuwają wiodący znak kontrolny i interpretują pozostały URL javascript:. Problem naprawiono w wersji 4.6.0.
- CVE-2026-72744Średnie
Podatność ujawniania informacji w Nuxt w wersjach od 4.4.7 do 4.5.1 oraz od 3.21.7 do 3.21.10. Punkt końcowy workspace Chrome DevTools w serwerze deweloperskim ufa nagłówkowi Host zamiast adresowi połączenia, co pozwala nieuwierzytelnionemu atakującemu w sieci LAN na odczyt ścieżki katalogu głównego projektu i identyfikatora UUID workspace.
- CVE-2026-71321Wysokie
Nuxt to framework webowy open-source dla Vue.js. Od wersji 3.1.0 do 3.21.10 i 4.5.1, wewnętrzny endpoint renderera wysp `/__nuxt_island/...` dekoduje i haszuje kontrolowane przez atakującego dane JSON z ciała żądania przed walidacją hasha w URL. Nieuwierzytelnione żądanie `POST /__nuxt_island/_.json` z dużym ciałem JSON jest w pełni odczytywane, parsowane, haszowane, a następnie odrzucane, co marnuje CPU w pętli zdarzeń Nitro i opóźnia równoległe żądania. Nie jest wymagany ważny hash ani uwierzytelnienie. Problem naprawiono w wersjach 3.21.10 i 4.5.1.
- CVE-2026-71320Wysokie
Nuxt to framework webowy open-source dla Vue.js. Od wersji 3.4.0 do 3.21.10 i 4.5.1, atakujący może wstrzyknąć klucz szablonu przez props `/__nuxt_island/` do dynamicznego komponentu, gdy `vue.runtimeCompiler: true` jest włączone, co powoduje wykonanie szablonu w procesie Nitro. Problem naprawiono w wersjach 3.21.10 i 4.5.1.
- CVE-2026-71318Średnie
Nuxt, framework web open-source dla Vue.js, w wersjach od 3.1.0 do 3.21.10 i 4.5.1 pozwala atakującemu na dostarczenie atrybutu 'as' na najwyższym poziomie do punktu końcowego /__nuxt_island/ i sterowanie dynamicznym rozwiązywaniem komponentów przez <component :is>, resolveDynamicComponent lub h(). Problem został naprawiony w wersjach 3.21.10 i 4.5.1.
- CVE-2026-71316Wysokie
Nuxt to framework webowy open-source dla Vue.js. Od wersji 4.4.0 do 4.5.1, wpisy cache runtime `nuxt:payload` dla `/strona/_payload.json` mogą być zwracane przed middleware trasy i guardami stron, ponieważ `import.meta.prerender` nie jest egzekwowane, co ujawnia dane SSR innego użytkownika. Problem naprawiono w wersji 4.5.1.
- CVE-2026-71315Wysokie
Nuxt to framework webowy open-source dla Vue.js. Od wersji 3.21.7 do 3.21.10 i 4.5.1, klucze routeRules z mieszaną wielkością liter mogą nie pasować do wyszukiwań z normalizacją wielkości liter, gdy `router.options.sensitive` jest false, i pomijają bramki autoryzacji appMiddleware. Jest to spowodowane niekompletną poprawką dla CVE-2026-53721. Problem naprawiono w wersjach 3.21.10 i 4.5.1.
- CVE-2026-71314Wysokie
Nuxt, framework do tworzenia aplikacji webowych dla Vue.js, zawiera podatność umożliwiającą nieuwierzytelnionemu atakującemu wywołanie niekontrolowanej alokacji pamięci SSR przez użycie właściwości v-for w wyspach serwerowych, co może doprowadzić do awarii procesu Nuxt. Problem dotyczy wersji od 3.1.0 do 3.21.10 oraz 4.5.1 i został naprawiony w wersjach 3.21.10 i 4.5.1.
- CVE-2026-56301Średnie
Nuxt w wersjach 4.0.0 przed 4.4.7 oraz 3.18.0 przed 3.21.7, działając na serwerze deweloperskim (nuxt dev) w systemie Linux, wiąże serwer IPC vite-node z gniazdem Unix w abstrakcyjnej przestrzeni nazw bez ograniczeń dostępu, co pozwala lokalnym użytkownikom na enumerację i połączenie.
- CVE-2026-56698Średnie
Wersje Nuxt 4.0.0 przed 4.4.7 oraz 3.x przed 3.21.7 nie walidują URL-i z możliwością skryptów w opcji open metody navigateTo, co pozwala na wykonanie skryptów po stronie klienta. Atakujący mogą dostarczyć URL-e javascript: przez parametr open, co umożliwia wykonanie dowolnych skryptów w kontekście aplikacji.
- CVE-2026-56697Średnie
Wersje Nuxt 4.0.0 przed 4.4.7 oraz 3.x przed 3.21.7 akceptują ścieżki względne do protokołu, takie jak //evil.com, w funkcji reloadNuxtApp. Te ścieżki przechodzą kontrolę protokołu skryptu, ale prowadzą do adresów URL z innego źródła w stosunku do bieżącego protokołu strony.
- CVE-2026-56326Średnie
Wersje Nuxt 4.0.0 przed 4.4.7 oraz 3.x przed 3.21.7 zawierają podatność na otwarte przekierowanie po stronie serwera w funkcji navigateTo, która nieprawidłowo waliduje znormalizowane ścieżki. Atakujący mogą wykorzystać techniki normalizacji ścieżek, aby przekierować użytkowników na kontrolowane przez siebie strony.
- CVE-2026-56317Średnie
Nuxt przed wersją 4.4.7 (oraz gałąź 3.x przed 3.21.7) zawiera podatność na ataki typu cross-site scripting w komponencie NoScript, który zapisuje zawartość slotów do innerHTML bez odpowiedniego zabezpieczenia. Atakujący mogą wstrzykiwać złośliwe skrypty poprzez niezaufane dane w slotach NoScript, takie jak parametry route.query.
- CVE-2026-53721Wysokie
Nuxt to otwartoźródłowy framework do tworzenia aplikacji webowych oparty na Vue.js. W wersjach od 3.11.0 do przed 3.21.7 oraz 4.0.0 do przed 4.4.7 występuje luka związana z obejściem middleware reguł trasowania z powodu niezgodności wrażliwości na wielkość liter między vue-router a matcherem routeRules. Problem został naprawiony w wersjach 3.21.7 i 4.4.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

