Next.js 16.4 i krytyczne łatki z 14 października: co zrobić ze stroną firmową
Nowa wersja frameworka, na którym działa wiele stron firmowych, i dwie krytyczne luki załatane tydzień później. Sprawdź, w której wersji jest Twoja strona i jak wygląda bezpieczna aktualizacja.
zaktualizowano 3 min czytaniaENAPPIA
Next.js to framework, w którym zbudowana jest też ta strona. 6 października Vercel wydał wersję 16.4, a 14 października osobną aktualizację bezpieczeństwa, która zamyka dwie krytyczne luki i jedną wysoką. Jeśli Twoja strona działa na Next.js, ten wpis pomoże ustalić, czy jest bezpieczna i co zmienia nowa wersja.
Co zamyka aktualizacja z 14 października
Łatki są w wersjach 16.4.1 (bieżąca linia) i 15.5.28 (linia utrzymaniowa). Ogłoszenie wymienia tylko te dwie linie; dla starszych, na przykład Next.js 14, nie ma w nim poprawek. Zespół Next.js zaleca aktualizację od razu:
- Zdalne wykonanie kodu bez logowania w funkcjach
use cachezwracających kilka tablic typowanych (GHSA-673q-mjm6-r5xr, krytyczna). Dotyczy aplikacji z App Routerem i Cache Components. Nie ma obejścia, trzeba zaktualizować, nawet jeśli strona nie ma takich funkcji. - Zdalne wykonanie kodu przez optymalizację obrazów SVG (CVE-2026-96889, krytyczna). Błąd w bibliotece używanej do przetwarzania obrazów, groźny na serwerach Linux z glibc. Obejście tymczasowe: biblioteka
sharpw wersji co najmniej 0.35.5. - Blokada serwera przez spreparowane żądania do Server Actions (GHSA-p3m5-59mp-jv5r, wysoka). Dotyczy aplikacji z App Routerem i co najmniej jedną Server Action.
Polecenie aktualizacji z ogłoszenia:
npm install next@16.4.1 # dla linii 16.4
npm install next@15.5.28 # dla linii 15.5
Co nowego w 16.4
Najważniejsza zmiana to Cache Components. Od 16.4 Vercel poleca ten model każdej aplikacji, nowe projekty z create-next-app mają go włączonego, a w Next.js 17 stanie się domyślny. Cache Components pozwalają oznaczyć fragment strony jako cache'owany ('use cache') i łączyć na jednej stronie treść statyczną z treścią liczoną przy każdym żądaniu.
Inne zmiany, które odczuje właściciel strony:
ensureStaticpilnuje, żeby strona ofertowa albo blog zawsze były generowane statycznie. Jeśli ktoś dołoży dynamiczny element, build się nie uda, zamiast po cichu zwiększać koszty serwera.- Komenda
next upgrade --agentprowadzi agenta kodującego przez aktualizację: sprawdza wersję, dobiera przewodnik migracji i kroki weryfikacji. Nowa opcjaexperimental.agentUpgradeprzypomina o aktualizacjach bezpieczeństwa podczas pracy. - Mniejsze pakiety produkcyjne (krótsze nazwy klas CSS, skracanie nazw eksportów) i o 20–25% mniejszy cache Turbopacka na dysku.
- React 19.3 ze stabilnymi View Transitions.
Jak mogłoby wyglądać wdrożenie w firmie
Aktualizacja strony firmowej to w praktyce cztery kroki.
- Ustalenie wersji. Sprawdzamy
package.jsonipackage-lock.jsonoraz to, gdzie strona jest hostowana. Luka w obrazach dotyczy serwerów Linux z glibc, a o podatności decyduje wersja bibliotekisharpw zależnościach projektu, więc sprawdzamy ją wpackage-lock.json. - Aktualizacja na gałęzi testowej. Podnosimy Next.js do 16.4.1 lub nowszej, uruchamiamy build i lint. Przy skoku z wersji 14 albo 13 przechodzimy przewodniki migracji między wersjami głównymi, bo zmieniają się API i konfiguracja.
- Podgląd przed produkcją. Sprawdzamy formularze, obrazy, dane strukturalne i konsolę przeglądarki na kilku podstronach. Dopiero potem zmiana trafia na produkcję.
- Przypomnienia o łatkach. Zostawiamy domyślne przypomnienia
experimental.agentUpgrade(polityka'security'), żeby kolejna luka nie czekała na przypadek.
Przy stronach z włączonymi Cache Components, które nie zmieniają treści na żądanie (oferta, cennik, blog), dokładamy ensureStatic, bo każdy nieplanowany render na serwerze to koszt i wolniejsza odpowiedź.
Na co uważać
- Strona bez aktualizacji od roku może być na linii, dla której łatki już nie wychodzą. Wtedy decydujemy między migracją a przebudową.
- Cache Components zmieniają sposób myślenia o cache'owaniu. Przy istniejącej aplikacji to osobne zadanie z własnymi testami. Vercel udostępnia skille dla agentów do tej migracji, ale wynik trzeba przetestować.
- Agent kodujący nie zastąpi testów.
next upgrade --agentprzyspiesza pracę, ale formularz kontaktowy i integracje sprawdza człowiek.
Jeśli nie wiesz, na jakiej wersji działa Twoja strona, zobacz, jak wygląda audyt i aktualizacja w ramach stron internetowych w ENAPPIA.
Źródła
Opisujemy nowości na podstawie publicznych ogłoszeń producentów (linki w sekcji „Źródła”). Ceny i parametry mogą się zmienić po publikacji. Uwagi do treści: info@enappia.pl.