CVE-2026-54266
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 1 - wyżej niż 1% wszystkich znanych CVE
Streszczenie
Podatność w Angularze przed wersjami 22.0.1, 21.2.17 i 20.3.25 pozwala atakującemu na podmianę odpowiedzi HTTP w pamięci podręcznej TransferState podczas renderowania po stronie serwera (SSR). Słaby 32-bitowy hash DJB2 używany do generowania kluczy pamięci podręcznej umożliwia znalezienie kolizji, co prowadzi do nadpisania wrażliwych danych odpowiedzią z innego żądania.
Ocena ryzyka
Atakujący może wykorzystać kolizję hash-a do podmiany odpowiedzi z wrażliwego endpointu (np. /api/user/profile) na odpowiedź z kontrolowanego żądania, co może prowadzić do ujawnienia lub modyfikacji danych użytkownika po stronie klienta.
Rekomendacja
Należy niezwłocznie zaktualizować Angular do wersji 22.0.1, 21.2.17 lub 20.3.25, w zależności od używanej gałęzi. Aktualizacja eliminuje słaby algorytm haszowania i zapobiega kolizjom kluczy pamięci podręcznej.
Inne podatności w Angular
Zobacz wszystkie- CVE-2026-69151Średnie
Angular przed wersjami 20.3.27, 21.2.19 i 22.0.1 zawiera podatność w potoku i18n kompilatora Angular, która pozwala na użycie atrybutów obsługi zdarzeń i18n-onerror i innych i18n-on. Umożliwia to plikowi tłumaczenia o niższym zaufaniu zastąpienie statycznego handlera wykonywalnym kodem JavaScript.
- CVE-2026-69149Średnie
Angular przed wersjami 20.3.27, 21.2.19 i 22.0.7 zawiera podatność na Cross-Site Scripting (XSS) w zależności DOM emulacji @angular/platform-server (domino) podczas serializacji zawartości elementów zastępczych surowej zawartości (<iframe>, <noembed>, <noframes> i <noscript>).
- CVE-2026-68945Średnie
Angular przed wersjami 20.3.27, 21.2.19 i 22.0.2 zawiera podatność w HttpTransferCache, która łączy przecinkami powtarzające się parametry żądania. Pozwala to semantycznie różnym żądaniom HttpClient używać tego samego klucza pamięci podręcznej transferu i ponownie wykorzystać nieprawidłową odpowiedź backendu.
- CVE-2026-50556Średnie
W Angularze wykryto podatność na atak XSS w komponencie @angular/platform-server podczas renderowania treści w elemencie <noscript> przy użyciu SSR. Problem wynika z błędnego serializowania zawartości przez bibliotekę domino, która nie ucieka znacznika </noscript>, co pozwala na wstrzyknięcie złośliwego kodu JavaScript.
- CVE-2026-50555Średnie
W Angularze wykryto podatność na Cross-Site Scripting (XSS) w zależności DOM emulacji @angular/platform-server (domino) podczas serializacji treści elementów raw-text, takich jak <script>, <style> i <iframe>. Błąd w obliczeniach indeksów Unicode powoduje, że dynamiczny tekst zawierający znaki astralne (np. emotikony) przed znacznikiem zamykającym nie jest poprawnie escapowany, co umożliwia wstrzyknięcie kodu JavaScript. Luka została załatana w wersjach 22.0.0-rc.2, 21.2.16, 20.3.24 i 19.2.25.
- CVE-2026-54267Średnie
Podatność DOM Clobbering w Angularze umożliwia atakującemu podmianę kontenera stanu SSR (ng-state) poprzez wstrzyknięcie elementu HTML z tym samym identyfikatorem. Podczas hydracji klienta Angular odczytuje dane z fałszywego elementu, co może prowadzić do wykonania kodu lub kradzieży danych.
- CVE-2026-50557Średnie
W Angularze wykryto podatność w pakietach @angular/compiler i @angular/core, która pozwala na obejście mechanizmów sanityzacji elementów i atrybutów poprzez użycie przestrzeni nazw. Atakujący może wstrzyknąć złośliwy szablon z niestandardową przestrzenią nazw, co prowadzi do wykonania skryptów po stronie klienta (XSS).
- CVE-2026-27970Średnie
Podatność XSS w potoku internacjonalizacji (i18n) Angulara pozwala na wykonanie dowolnego kodu JavaScript w aplikacji, jeśli atakujący skompromituje plik tłumaczeń. Problem dotyczy wersji przed 21.2.0, 21.1.16, 20.3.17 i 19.2.19, gdzie HTML z przetłumaczonych komunikatów ICU nie był odpowiednio sanityzowany.
- CVE-2024-21490Wysokie
Podatność w pakiecie angular (wersje od 1.3.0) oraz angularjs (wersje od 1.3.0) wynika z użycia wyrażenia regularnego do dzielenia wartości atrybutu ng-srcset, które jest podatne na katastroficzne cofanie się (backtracking). Przy odpowiednio spreparowanym, dużym wejściu może to prowadzić do przeciążenia i odmowy usługi (DoS). Pakiet jest wycofany (EOL) i nie otrzyma poprawek.
Oryginalny opis (angielski, źródło NVD)
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.1, 21.2.17, and 20.3.25, Angular's HttpTransferCache caches HTTP requests made during Server-Side Rendering (SSR) so that they can be reused during client-side hydration. This avoids repeating the same HTTP requests on the client. The cached responses are stored in TransferState using a cache key generated by hashing request properties (method, response type, mapped URL, serialized body, and sorted query parameters). The cache keys are generated using a weak 32-bit DJB2-like polynomial rolling hash. The 32-bit hash space is extremely small, allowing attackers to find hash collisions. An attacker can easily find a query parameter string (e.g., q=aaCAZMMM for a search request) that produces the exact same 32-bit hash as a sensitive endpoint (e.g., /api/user/profile). When a victim visits a crafted link containing the colliding parameter, the SSR process executes both the search request and the profile request. Due to the hash collision, the search response overwrites the profile response in the TransferState cache. This vulnerability is fixed in 22.0.1, 21.2.17, and 20.3.25.

