CVE-2024-21490
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Wysokie ryzykoPercentyl 76 - wyżej niż 76% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS poprzez wysłanie specjalnie spreparowanego żądania, co może spowodować niedostępność aplikacji dla użytkowników. Ponieważ pakiet nie jest już wspierany, organizacje używające go są narażone na trwałe zagrożenie bez możliwości łatania.
Rekomendacja
Należy natychmiast zaplanować migrację z wycofanego pakietu angular/angularjs na @angular/core. Do czasu migracji warto rozważyć ograniczenie dostępu do funkcji wykorzystujących ng-srcset lub zastosowanie tymczasowych reguł WAF blokujących złośliwe wejścia.
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-54266Średnie
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.
- 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.
Oryginalny opis (angielski, źródło NVD)
This affects versions of the package angular from 1.3.0; versions of the package angularjs from 1.3.0. A regular expression used to split the value of the ng-srcset directive is vulnerable to super-linear runtime due to backtracking. With large carefully-crafted input, this can result in catastrophic backtracking and cause a denial of service. **Note:** This package is EOL and will not receive any updates to address this issue. Users should migrate to [@angular/core](https://www.npmjs.com/package/@angular/core).

