CVE-2026-94545: Krytyczna luka w Next.js ImageResponse umożliwia zdalne wykonanie kodu

CVE-2026-94545: Krytyczna luka w Next.js ImageResponse umożliwia zdalne wykonanie kodu

SOC Prime Team
SOC Prime Team linkedin icon Śledź

Krytyczna podatność w Next.js może pozwolić zdalnym atakującym na wykonanie dowolnego kodu na podatnych serwerach poprzez funkcjonalność ImageResponse w tym frameworku. Zanotowana jako CVE-2026-94545, wada wpływa na implementację Node.js ImageResponse w next/og i posiada ocenę CVSS wynoszącą 9.5. Vercel rozwiązał problem 22 września 2026 roku, wraz z wydaniem Next.js 16.3.6.

Podatność staje się wykorzystywalna, gdy aplikacja umieszcza dane kontrolowane przez atakującego w treści SVG, atrybutach lub stylach podczas generowania obrazów po stronie serwera. W takich warunkach, specjalnie przygotowane wartości mogą trafić do kanału renderowania SVG w sposób, który ostatecznie może prowadzić do zdalnego wykonania kodu na serwerze aplikacji.

Problem jest szczególnie istotny, ponieważ ImageResponse jest powszechnie używane do dynamicznego generowania obrazów Open Graph, podglądów mediów społecznościowych i innych grafik tworzonych na serwerze bazujących na danych aplikacji lub użytkownika. Aplikacje, które włączają parametry URL, dane z API, dane z formularzy lub inne nieufne wartości w te obrazy, powinny zostać natychmiast przeanalizowane.

Zespoły ds. bezpieczeństwa poszukujące treści wykrywania CVE-2026-94545 mogą wykorzystać AI-Native Detection Intelligence Platform od SOC Prime, aby zidentyfikować podejrzane eksploatacje i zachowania post-kompromitacyjne związane z podatnymi aplikacjami webowymi.

Inżynierowie ds. bezpieczeństwa mogą również używać Uncoder AI do przekształcania informacji o podatnościach w logikę detekcji, generowania zapytań łowieckich, konwersji wskaźników na wyszukania specyficzne dla platform oraz przyspieszenia inżynierii detekcji dla nowych podatności.

Skontaktuj się ze sprzedawcą

Analiza CVE-2026-94545

CVE-2026-94545 to krytyczna podatność na zdalne wykonanie kodu wpływająca na implementację ImageResponse w Node.js zawartą w pakiecie next/og. Informacja od Vercel przypisuje podatności ocenę CVSS v4 wynoszącą 9.5, z eksploatacją opartą na sieci, niską złożonością ataku, brakiem wymogu uwierzytelniania oraz bez konieczności interakcji ze strony użytkownika.

Dotknięta funkcjonalność opiera się na Satori, bibliotece Vercel do konwertowania struktur JSX i HTML-podobnych na treści SVG przed wyrenderowaniem wynikowego obrazu. Według opublikowanych badań, niektóre wartości kontrolowane przez atakującego mogą dotrzeć do wygenerowanego wyjścia SVG bez odpowiedniego przeskalowania. W rezultacie, specjalnie przygotowane dane wejściowe mogą być interpretowane jako znacznik SVG zamiast nieszkodliwego tekstu. W dotkniętych konfiguracjach Next.js takie zachowanie może współdziałać z komponentami dalszymi w sposób prowadzący do wykonania kodu po stronie serwera.

CVE-2026-94545 wpływa na wersje Next.js zaczynając od 16.2.0 i kontynuując do 16.3.5. Wersja 16.3.6 zawiera poprawkę bezpieczeństwa. Next.js 15 nie jest dotknięty przez tę konkretną podatność, podczas gdy aplikacje korzystające z implementacji Edge ImageResponse również są poza zakresem podatności.

Co ważne, samo użycie ImageResponse nie automatycznie oznacza, że aplikacja jest podatna. Warunkiem podatności jest implementacja Node.js oraz dane kontrolowane przez atakującego wstawiane w treści SVG, atrybuty lub style. Na przykład, aplikacja może akceptować wartość w ciągu zapytania i osadzać ją w dynamicznie generowanym obrazie podglądu społecznościowego. Jeśli ta wartość trafi do podatnego kanału renderowania bez odpowiedniej kontroli, atakujący mógłby stworzyć dane wejściowe zaprojektowane w celu wywołania wady.

To rozróżnienie jest istotne dla priorytetyzacji podatności. Deweloperzy powinni przeszukać swoje bazy kodu pod kątem importów ImageResponse z next/og, w tym obsługi tras i implementacji opengraph-image, a następnie określić, czy nieufne wartości wpływają na wygenerowane wyjście. Niektóre obrazy są generowane, gdy przychodzą zapytania, co oznacza, że potencjalnie podatne ścieżki kodu mogą być bezpośrednio dostępne z internetu.

Szczegóły dotyczące CVE-2026-94545 również podkreślają aspekt łańcucha dostaw tej podatności. Podstawowe słabości istnieją w Satori, gdzie nieprawidłowo przeskalowane wartości mogą stać się aktywną treścią SVG. Deweloperzy korzystający bezpośrednio z Satori powinni zaktualizować do wersji 0.33.5, która zawiera odpowiednią poprawkę. Aplikacje Next.js powinny zaktualizować sam framework zamiast polegać na samodzielnie zaktualizowanym pakiecie Satori, ponieważ Satori jest zestawione wewnątrz Next.js.

Udane wykorzystanie może zapewnić niezalogowanemu zdalnemu atakującemu wykonanie kodu w kontekście podatnego procesu serwera Next.js. W zależności od uprawnień i środowiska aplikacji, może to narazić sekrety aplikacji, poświadczenia API, zmienne środowiskowe, bazy danych, poświadczenia chmury, usługi wewnętrzne lub inne zasoby dostępne z zainfekowanego serwera.

Zdalne wykonanie kodu może również stanowić wstępny punkt zaczepienia dla dodatkowej złośliwej aktywności, w tym wdrożenia ładunków, kradzieży poświadczeń, utrzymania obecności, rozpoznania i ruchu bocznego. Ostateczny wpływ po eskploatacji zależy zatem w dużym stopniu od tego, jak zainstalowana jest dotknięta podatnością aplikacja Next.js oraz jakie uprawnienia posiada proces serwera.

Na dzień 23 września 2026 r., publiczne raporty nie zidentyfikowały potwierdzonych ataków wykorzystujących podatność na wolności i nie ma publicznie dostępnego PoC dla CVE-2026-94545. Jednakże, szczegóły techniczne podatności są teraz publiczne, co oznacza, że organizacje nie powinny interpretować braku zgłoszonego wykorzystania jako wskazania niskiego ryzyka.

Podobnie, nie ma również publicznie udokumentowanych IOCs specyficznych dla kampanii CVE-2026-94545 w cytowanych badaniach. Obrońcy powinni zatem skupić się na wskaźnikach behawioralnych, w tym nietypowych żądaniach do punktów końcowych dynamicznego generowania obrazów, nieprawidłowych procesach potomnych generowanych przez aplikacje Node.js, niespodziewanej zewnętrznej komunikacji z serwerów Next.js, podejrzanym tworzeniu plików oraz wykonywaniu komend pochodzących z procesów aplikacji webowych.

Ograniczenie CVE-2026-94545

Podstawowym ograniczeniem CVE-2026-94545 jest zaktualizowanie dotkniętych aplikacji Next.js do wersji 16.3.6. Vercel wymienia 16.3.6 jako załatane wersje dla dotkniętej linii wydania 16.x. Aplikacje korzystające z Next.js 16.2.x muszą również przejść do 16.3.6 zamiast czekać na oddzielne wydanie zabezpieczeń 16.2.

Administratorzy powinni zweryfikować rzeczywistą wersję produkcyjną, zamiast polegać jedynie na manifestach pakietów lub skanowaniu zależności. Po aktualizacji, produkcyjne aplikacje i kontenery powinny być przebudowane i ponownie wdrożone, aby zapewnić, że rzeczywiście używana jest załatana wersja frameworku.

Organizacje powinny również przeprowadzić audyt kodu aplikacji pod kątem importów, takich jak:

import { ImageResponse } z 'next/og’

Szczególną uwagę należy zwrócić na obsługę tras, generatory obrazów Open Graph i inne komponenty, które tworzą obrazy dynamicznie na podstawie danych z żądań. Deweloperzy powinni zidentyfikować każdą sytuację, w której parametry URL, odpowiedzi API, dane z formularzy, treści bazy danych kontrolowane przez użytkowników lub inne nieufne dane mogą dotrzeć do treści SVG, atrybutów lub stylów.

Jeśli natychmiastowa aktualizacja nie jest możliwa, Vercel zaleca zapewnienie, że wartości kontrolowane przez atakującego nie będą przekazywane do treści SVG, atrybutów lub stylów renderowanych przez implementację Node.js ImageResponse. To zmniejsza ekspozycję, ale powinno być traktowane jako tymczasowe obejście, a nie zastępstwo dla aktualizacji.

Organizacje powinny również unikać założenia, że przełączenie środowisk uruchomieniowych jest preferowanym działaniem naprawczym. Mimo że implementacja Edge nie jest podatna na tę wadę, powiadomienie od Vercel wyraźnie zaleca usunięcie danych kontrolowanych przez atakującego z podatnych ścieżek renderowania, gdy aktualizacja nie może być przeprowadzona natychmiast.

To Wykrywanie prób eksploatacji CVE-2026-94545 , zespoły ds. bezpieczeństwa powinny monitorować dzienniki aplikacji i serwerów proxy na przeciwną stronę dla nietypowych danych wejściowych wysłanych do tras odpowiedzialnych za generowanie obrazów. EDR i telemetria obciążenia powinna również identyfikować procesy Node.js nieoczekiwanie uruchamiające powłoki lub narzędzia systemowe, tworzące pliki wykonywalne, uzyskujące dostęp do wrażliwych sekretów lub ustanawiające nietypowe połączenia sieciowe na zewnątrz.

Organizacje, które prowadziły aplikacje dotknięte podatnością przed wdrożeniem poprawki, powinny przejrzeć historię telemetrii pod kątem podejrzanych żądań i zachowań post-kompromitacyjnych. Ponieważ obecnie nie istnieje metoda dostarczona przez dostawcę określająca, czy podatna trasa była wcześniej wykorzystana, połączenie dzienników aplikacji, telemetrii EDR, zapisów audytowych chmury i aktywności sieciowej oferuje najskuteczniejsze podejście do retrospektywnej analizy.

Dodatkowo, AI-Native Detection Intelligence Platform od SOC Prime może pomóc zespołom ds. bezpieczeństwa w operacjonalizacji nowych informacji o podatnościach w reguły detekcyjne i zapytania łowieckie, umożliwiając szybszą reakcję na krytyczne zagrożenia związane z bezpieczeństwem aplikacji.

Zrzeczenie: Treść detekcji może nie być dostępna dla każdej CVE. Sprawdź SOC Prime Platform dla aktualnego pokrycia. Jeśli odpowiednie detekcje nie są jeszcze dostępne, sprawdź ponownie, gdyż nowa treść detekcji jest ciągle dodawana.

FAQ

Czym jest CVE-2026-94545 i jak działa?

CVE-2026-94545 to krytyczna podatność na zdalne wykonanie kodu w implementacji ImageResponse Node.js z Next.js next/og. Gdy podatna aplikacja osadza wartości kontrolowane przez atakującego w treści SVG, atrybutach lub stylach, specjalnie przygotowane dane wejściowe mogą dotrzeć do kanału renderowania obrazów i ostatecznie umożliwić wykonanie dowolnego kodu na serwerze.

Kiedy pierwszy raz odkryto CVE-2026-94545?

Podatność została zgłoszona przez badaczy ds. bezpieczeństwa Raghava Maheshwariego i rafabd1. Vercel publicznie ujawnił problem i opublikował swoją poradę bezpieczeństwa 22 września 2026, wraz z wydaniem załatanej wersji Next.js 16.3.6. Publiczne powiadomienie nie precyzuje pierwotnej prywatnej daty odkrycia badaczy.

Jaki jest wpływ CVE-2026-94545 na systemy?

Udane wykorzystanie może umożliwić niezalogowanemu zdalnemu atakującemu wykonanie dowolnego kodu w kontekście dotkniętego serwera Next.js. W zależności od przywilejów aplikacji, atakujący mogą potencjalnie uzyskać dostęp do sekretów aplikacji, poświadczeń, usług wewnętrznych, wrażliwych informacji lub użyć skompromitowanego serwera jako przyczółka dalszych ataków. Vercel ocenia problem jako krytyczny z oceną CVSS wynoszącą 9.5.

Czy CVE-2026-94545 nadal może mnie dotyczyć w 2026?

Tak. Aplikacje działające na Next.js 16.2.0 do 16.3.5 mogą pozostać podatne, gdy używają implementacji Node.js ImageResponse i przekazują wartości kontrolowane przez atakującego do treści SVG, atrybutów lub stylów. Next.js 16.3.6 zawiera poprawkę.

Jak mogę się chronić przed CVE-2026-94545?

Zaktualizuj dotknięte aplikacje Next.js do wersji 16.3.6, odśwież i ponownie wdroż produkcyjne obciążenia robocze oraz przeprowadź audyt całego użycia ImageResponse next/og pod kątem danych wejściowych kontrolowanych przez atakującego. Jeśli aktualizacja nie może być przeprowadzona natychmiast, zapobiegaj przenikaniu nieufnych wartości do treści SVG, atrybutów lub stylów. Organizacje powinny również monitorować podatne serwery pod kątem podejrzanego zachowania procesów Node.js i przeglądać historyczne aktywności w poszukiwaniu oznak kompromitacji.

Dołącz do platformy Detection as Code firmy SOC Prime aby zwiększyć widoczność zagrożeń najbardziej istotnych dla Twojego biznesu. Aby pomóc Ci rozpocząć i natychmiast uzyskać wartość, umów się teraz na spotkanie z ekspertami SOC Prime.

More CVEs Articles