CVE-2026-50556
ŚrednieCVSS 6.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 15 - wyżej niż 15% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać tę lukę do wykonania dowolnego kodu JavaScript w przeglądarce ofiary, co prowadzi do kradzieży sesji, modyfikacji treści strony lub przejęcia konta użytkownika.
Rekomendacja
Należy natychmiast zaktualizować Angular do wersji 22.0.0-rc.2, 21.2.16, 20.3.24 lub 19.2.25 w zależności od używanej gałęzi. Sprawdź, czy aplikacja korzysta z SSR i elementów <noscript> z dynamiczną treścią.
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-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.
- 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.0-rc.2, 21.2.16, 20.3.24, and 19.2.25, a Cross-Site Scripting (XSS) vulnerability exists in @angular/platform-server's DOM emulation dependency (domino) when serializing the content of <noscript> elements. When rendering dynamic text content inside a <noscript> element via template bindings (such as {{ value }} or [textContent]), the template engine expects the browser to render the content safely. Under Server-Side Rendering (SSR), domino is configured with scripting enabled, meaning <noscript> is treated as a raw-text element. However, domino's serializer completely omitted <noscript> from the list of raw-text elements requiring closing-tag escaping during DOM serialization. As a result, any occurrence of </noscript> in the bound dynamic text was never escaped under any circumstances. The unescaped closing tag was serialized directly into the output HTML (e.g. <noscript></noscript><script>alert(1)</script></noscript>). When parsed by a browser, it closes the <noscript> block early, allowing the injected <script> block to execute in the user's browser context, causing same-origin Cross-Site Scripting (XSS). This vulnerability is fixed in 22.0.0-rc.2, 21.2.16, 20.3.24, and 19.2.25.

