Уязвимость в Angular угрожает миллионам веб-приложений выполнением вредоносного JavaScript

vulnerability

В популярном фреймворке Angular обнаружена опасная уязвимость типа Cross-Site Scripting (XSS, межсайтовый скриптинг). Проблема, получившая идентификатор CVE-2026-22610, связана с ошибкой в компиляторе шаблонов и может позволить злоумышленникам выполнять произвольный JavaScript-код в браузерах пользователей. Эксперты оценили уязвимость как высокоопасную с баллом CVSS 7.3 из 10, что указывает на значительный риск для безопасности.

Детали уязвимости

Суть проблемы кроется в механизме санитизации (очистки) входных данных Angular. Внутренняя схема безопасности фреймворка некорректно обрабатывает атрибуты "href" и "xlink:href" внутри SVG-элементов "<script>". В результате эти атрибуты не распознаются как контексты Resource URL (URL ресурса). Следовательно, когда разработчики используют привязку свойств или атрибутов, например, "<script [attr.href]=”userInput”>", компилятор ошибочно трактует вводимые пользователем данные как обычные строки, а не как потенциально опасные ссылки на ресурсы.

Эта ошибка создаёт условия для обхода встроенных защитных механизмов Angular. Злоумышленник может внедрить в уязвимое поле данные, содержащие вредоносную нагрузку (payload). Например, это может быть Data URI с JavaScript-кодом ("data:text/javascript") или ссылка на внешний скрипт. В случае успешной эксплуатации уязвимости в сессии браузера жертвы выполняется произвольный JavaScript-код. Последствия такого внедрения могут быть серьёзными: от перехвата сессии (session hijacking) и хищения конфиденциальных данных (data exfiltration) до совершения несанкционированных действий от имени аутентифицированного пользователя.

Важно отметить, что для эксплуатации необходимы специфические условия. Во-первых, приложение должно использовать SVG-элементы "<script>" с привязкой свойств к атрибутам "href" или "xlink:href". Во-вторых, данные для этой привязки должны поступать из ненадёжных, непроверенных источников. Тем не менее, учитывая широкую распространённость Angular, потенциально под угрозой могут оказаться миллионы веб-приложений.

Команда Angular оперативно отреагировала на обнаружение уязвимости и выпустила патчи для всех поддерживаемых веток. Администраторам и разработчикам настоятельно рекомендуется немедленно обновить свои проекты до защищённых версий: 19.2.18, 20.3.16, 21.0.7 или 21.1.0-rc.0. Своевременное применение обновлений является самым эффективным способом устранения угрозы.

До момента установки патчей эксперты по кибербезопасности рекомендуют применять временные меры защиты. Разработчикам следует избегать динамической привязки данных к атрибутам "href" и "xlink:href" внутри SVG-элементов "<script>". Кроме того, необходимо реализовать строгую проверку вводимых данных на стороне сервера. Эффективной практикой является использование белых списков (allowlists) доверенных URL-адресов, что позволит отфильтровать потенциально опасные ссылки.

Организациям, использующим Angular в своих веб-продуктах, следует отнестись к этому обновлению как к приоритетной задаче. Игнорирование уязвимости CVE-2026-22610 может привести к реальным инцидентам безопасности, компрометации пользовательских данных и репутационным потерям. Регулярное обновление зависимостей и фреймворков остаётся ключевым элементом стратегии защиты современных веб-приложений.

Ссылки

Комментарии: 0