W frameworku Nuxt (wersje 4.4.0–4.5.0) wpisy cache payload dla stron mogą być zwracane przed wykonaniem middleware i page guards, ujawniając dane SSR należące do innego użytkownika. Podatność umożliwia nieuwierzytelniony dostęp do potencjalnie wrażliwych danych serwerowych.
▸ Pokaż oryginał (EN)
Nuxt is an open-source web development framework for Vue.js. From 4.4.0 until 4.5.1, runtime cache:nuxt:payload entries for /<page>/_payload.json can be returned before route middleware and page guards because import.meta.prerender is not enforced, disclosing another user's SSR data. This issue is fixed in 4.5.1.
Framework Nuxt przechowuje dane renderowania po stronie serwera (SSR) w cache pod kluczem cache:nuxt:payload dla ścieżek /<page>/_payload.json. Ze względu na brak egzekwowania flagi import.meta.prerender, te wpisy cache mogą zostać zwrócone do użytkownika zanim zostaną wykonane mechanizmy kontroli dostępu (route middleware i page guards). W efekcie atakujący może uzyskać dane SSR przeznaczone dla innego użytkownika, omijając wszelkie skonfigurowane zabezpieczenia dostępu do strony.
Atakujący bez uwierzytelnienia (sieciowo, bez interakcji użytkownika) może odczytać dane SSR należące do innych użytkowników aplikacji, co prowadzi do ujawnienia potencjalnie wrażliwych informacji.
Należy zaktualizować Nuxt do wersji 4.5.1, w której problem został naprawiony. Patch dostępny w repozytorium GitHub Nuxt (commit ac9b41a).
Nuxt w wersjach od 4.4.0 do 4.5.0 (włącznie)
Podatność zgłoszona i naprawiona w ramach procesu security disclosure projektu Nuxt (GHSA-wm8w-6qjm-cv43). Wersja 4.5.1 jest oficjalnym wydaniem zawierającym poprawkę.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N