Podatność w kompilatorze Angular umożliwia wstrzyknięcie wykonywalnego kodu JavaScript poprzez złośliwy plik tłumaczeń i18n. Atakujący z dostępem do pliku tłumaczeń może zastąpić statyczne handlery zdarzeń własnym kodem, co prowadzi do XSS.
▸ Pokaż oryginał (EN)
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.27, 21.2.19, and 22.0.1, the Angular compiler i18n pipeline permits i18n-onerror and other i18n-on event-handler attributes, allowing a lower-trust translation file to replace a static handler with executable JavaScript. This issue is fixed in versions 20.3.27, 21.2.19, and 22.0.1.
Potok i18n kompilatora Angular nieprawidłowo zezwala na użycie atrybutów obsługi zdarzeń, takich jak i18n-onerror i innych atrybutów i18n-on*, w plikach tłumaczeń. Plik tłumaczeń o niższym poziomie zaufania może zastąpić statycznie zdefiniowany handler zdarzenia dowolnym kodem JavaScript. Kod ten zostaje następnie osadzony w skompilowanej aplikacji i wykonany w przeglądarce użytkownika.
Atakujący może wykonać dowolny kod JavaScript w kontekście aplikacji (XSS), co umożliwia kradzież danych sesji, manipulację treścią strony lub przejęcie konta użytkownika.
Należy zaktualizować Angular do wersji 20.3.27, 21.2.19 lub 22.0.1, w których problem został naprawiony. Dodatkowo należy weryfikować i ograniczać dostęp do plików tłumaczeń, traktując je jako potencjalnie niezaufane dane wejściowe.
Aplikacje Angular zbudowane przy użyciu wersji wcześniejszych niż 20.3.27, 21.2.19 oraz 22.0.1, które korzystają z potoku i18n kompilatora Angular.
Podatność wymaga, aby atakujący miał możliwość dostarczenia lub modyfikacji pliku tłumaczeń używanego przez aplikację (warunek AT:P i UI:P w wektorze CVSS). Poprawki dostępne są w commitach na GitHub wskazanych w referencjach.
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XAngular
APPAngular≤ 19.2.2520.0.0 – 20.3.27 (bez)21.0.0 – 21.2.19 (bez)22.0.0 – 22.0.1 (bez)
Powiązane podatności
XSS w Angular platform-server podczas serializacji elementów fallback
Angular HttpTransferCache — błędne łączenie parametrów zapytań (CWE-345)
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript...
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript...
Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript...