CVE-2017-9248
Progress ASP.NET AJAX and Sitefinity
2021-11-03
Progress Telerik UI for ASP.NET AJAX and Sitefinity have a cryptographic weakness in Telerik.Web.UI.dll that can be exploited to disclose encryption keys (Telerik.Web.UI.DialogParametersEncryptionKey and/or the MachineKey), perform cross-site-scripting (XSS) attacks, compromise the ASP.NET ViewState, and/or upload and download files.
Технический анализ и план устранения
Суть уязвимости
Уязвимость в библиотеке Telerik.Web.UI.dll позволяет злоумышленнику:
* Получить ключи шифрования (DialogParametersEncryptionKey и MachineKey).
* Провести атаку Cross-Site Scripting (XSS).
* Скомпрометировать состояние просмотра ASP.NET (ViewState).
* Загружать и скачивать произвольные файлы на сервере.
Эксплуатация возможна через прямой HTTP-запрос к уязвимому обработчику Telerik.
Как исправить
Установите официальный патч от Progress Software, обновив уязвимые компоненты до исправленных версий.
Для Telerik UI for ASP.NET AJAX:
* Установите версию 2017.2.621 или новее.
* Скачайте исправленную сборку с официального сайта Telerik и замените файл Telerik.Web.UI.dll в вашем проекте.
Для Sitefinity: * Обновите Sitefinity до одной из следующих версий: * Sitefinity 10.1 (сборка 6101 или новее) * Sitefinity 10.0 (сборка 6011 или новее) * Sitefinity 9.2 (сборка 5921 или новее) * Sitefinity 9.1 (сборка 5911 или новее) * Sitefinity 9.0 (сборка 5901 или новее) * Обновление выполняется через Панель управления Sitefinity > Администрирование > Обновления.
После обновления перекомпилируйте и переразверните приложение.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Настройте правила WAF (Web Application Firewall):
- Заблокируйте запросы к уязвимым обработчикам Telerik. Пример правила для ModSecurity:
bash SecRule REQUEST_URI "@contains /Telerik.Web.UI.DialogHandler.aspx" "id:10001,phase:1,deny,status:403,msg:'Block Telerik CVE-2017-9248'" SecRule REQUEST_URI "@contains /Telerik.Web.UI.SpellCheckHandler.axd" "id:10002,phase:1,deny,status:403,msg:'Block Telerik CVE-2017-9248'"
- Заблокируйте запросы к уязвимым обработчикам Telerik. Пример правила для ModSecurity:
-
Используйте встроенный модуль Request Filtering в IIS:
- Добавьте в
web.configприложения или в настройки IIS правило для блокировки доступа к обработчику:xml <system.webServer> <security> <requestFiltering> <denyUrlSequences> <add sequence="Telerik.Web.UI.DialogHandler.aspx" /> <add sequence="Telerik.Web.UI.SpellCheckHandler.axd" /> </denyUrlSequences> </requestFiltering> </security> </system.webServer>
- Добавьте в
-
Удалите ненужные обработчики Telerik:
- Если функционал диалоговых окон или проверки орфографии не используется, физически удалите или переименуйте файлы
Telerik.Web.UI.DialogHandler.aspxиTelerik.Web.UI.SpellCheckHandler.axdиз корня веб-приложения.
- Если функционал диалоговых окон или проверки орфографии не используется, физически удалите или переименуйте файлы
Важно: Временные решения лишь снижают риск атаки. Полное устранение уязвимости возможно только путем установки официального патча.