CVE-2017-11317
Telerik User Interface (UI) for ASP.NET AJAX
2022-04-11
Telerik.Web.UI in Progress Telerik UI for ASP.NET AJAX allows remote attackers to perform arbitrary file uploads or execute arbitrary code.
Технический анализ и план устранения
Суть уязвимости
Уязвимость (CVE-2017-11317) в компоненте Telerik.Web.UI.dll позволяет удаленному злоумышленнику обойти проверки загружаемых файлов. В результате возможны:
* Загрузка произвольных файлов (например, веб-шеллов) на сервер.
* Выполнение произвольного кода в контексте приложения (чаще всего с правами учетной записи пула приложений IIS).
Атака эксплуатирует недостаточную валидацию в обработчике загрузки файлов RadAsyncUpload.
Как исправить
Основное решение — обновление библиотек Telerik UI for ASP.NET AJAX.
- Определите текущую версию. Найдите файл
Telerik.Web.UI.dllв папках вашего веб-приложения (например, вbin\). Свойства файла (Details) должны содержать номер версии. -
Установите патч. Обновитесь до одной из исправленных версий:
- Q2 2017 SP1 (версия 2017.2.621 или выше)
- Q3 2017 (версия 2017.3.913 или выше)
- Все последующие версии (2018 и новее) также содержат исправление.
-
Процесс обновления:
- Скачайте исправленную версию с официального сайта Telerik.
- Замените файлы
Telerik.Web.UI.dllи связанные с ними ресурсы в вашем проекте. - Пересоберите и повторно разверните приложение на сервере.
- Обязательно перезапустите пул приложений (Application Pool) в IIS.
Временное решение
Если немедленное обновление невозможно, примените следующие меры:
-
Настройте правила WAF (Web Application Firewall):
- Блокируйте HTTP-запросы, содержащие в теле или параметрах строки, характерные для эксплойта (например,
Telerik.Web.UIв сочетании сRadAsyncUpload). - Пример правила для ModSecurity:
bash SecRule REQUEST_BODY "@rx Telerik\.Web\.UI.*?RadAsyncUpload" \ "id:1001,phase:2,deny,status:403,msg:'CVE-2017-11317 Telerik UI Exploit Attempt'"
- Блокируйте HTTP-запросы, содержащие в теле или параметрах строки, характерные для эксплойта (например,
-
Ограничьте обработку запросов в IIS:
- В
web.configприложения можно добавить правило URL-перезаписи для блокировки доступа к обработчику загрузки. Поместите в раздел<system.webServer><rewrite><rules>:xml <rule name="Block Telerik AsyncUpload" stopProcessing="true"> <match url=".*Telerik.Web.UI.WebResource.axd.*" /> <conditions> <add input="{QUERY_STRING}" pattern="type=rau" /> </conditions> <action type="AbortRequest" /> </rule>
- В
-
Примените строгие ограничения вручную:
- В коде приложения (в файле
Global.asax.csв методеApplication_BeginRequest) добавьте проверку и блокировку подозрительных запросов кWebResource.axdс параметромtype=rau. - Убедитесь, что для папки, куда загружаются файлы (например,
~/App_Data/RadUploadTemp/), установлены минимальные права (только запись для учетной записи пула приложений и запрет на выполнение скриптов).
- В коде приложения (в файле