CVE-2017-11357

Telerik User Interface (UI) for ASP.NET AJAX

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2023-01-26

Официальное описание

Telerik UI for ASP.NET AJAX contains an insecure direct object reference vulnerability in RadAsyncUpload that can result in file uploads in a limited location and/or remote code execution.

🛡️
Технический анализ и план устранения

Суть уязвимости

CVE-2017-11357 представляет собой критическую уязвимость в компоненте RadAsyncUpload, входящем в состав Telerik UI for ASP.NET AJAX. Проблема связана с небезопасной реализацией обработки параметров при загрузке файлов (Insecure Direct Object Reference).

Из-за недостаточной проверки криптографических подписей и использования слабого алгоритма шифрования по умолчанию, злоумышленник может подделать параметры запроса. Это позволяет: 1. Обходить механизмы аутентификации при загрузке файлов. 2. Загружать произвольные файлы в произвольные директории в пределах веб-приложения. 3. В сочетании с другими уязвимостями (например, CVE-2017-11317) выполнять произвольный код (RCE) на сервере.

Как исправить

Основным и наиболее надежным способом устранения является обновление библиотеки Telerik.Web.UI.dll до версии, в которой механизмы защиты были пересмотрены.

  1. Обновите Telerik UI for ASP.NET AJAX до версии R2 2017 SP2 (2017.2.711) или выше.
  2. После обновления убедитесь, что в файле web.config установлены уникальные ключи для шифрования параметров. Сгенерируйте длинные случайные строки для следующих параметров:
<appSettings>
  <add key="Telerik.Web.UI.AsyncUpload.ConfigurationEncryptionKey" value="ВАШ_УНИКАЛЬНЫЙ_ДЛИННЫЙ_КЛЮЧ" />
  <add key="Telerik.Upload.ConfigurationHashKey" value="ВАШ_УНИКАЛЬНЫЙ_ДЛИННЫЙ_КЛЮЧ" />
</appSettings>

  1. Если вы используете .NET 4.5 и выше, принудительно установите использование криптографических алгоритмов нового поколения:
<appSettings>
  <add key="Telerik.AsyncUpload.UseStrongEncryption" value="true" />
</appSettings>

Временные меры

Если немедленное обновление невозможно, примените следующие защитные меры для снижения риска:

  1. Полностью отключите компонент RadAsyncUpload, если он не используется в приложении, удалив соответствующий обработчик из web.config:
<system.webServer>
  <handlers>
    <remove name="Telerik_Web_UI_WebResource_axd" />
    <remove name="Telerik_Web_UI_DialogHandler_aspx" />
  </handlers>
</system.webServer>

  1. Если компонент необходим, ограничьте типы разрешенных к загрузке файлов на уровне кода (AllowedFileExtensions), однако помните, что без патча это ограничение можно попытаться обойти.

  2. Настройте правила на Web Application Firewall (WAF) для блокировки подозрительных POST-запросов к Telerik.Web.UI.WebResource.axd?type=rau.

  3. Проверьте права доступа файловой системы: у учетной записи, от которой запущен пул приложений IIS, должны быть минимально необходимые права (запрет на исполнение в директориях, куда разрешена загрузка).