Оракул в загрузчике Telerik открыл путь к серверу

7 сентября 2026 года исследователь TantoSec Марсио Алмейда опубликовал полный разбор цепочки удалённого выполнения кода в Telerik UI for AJAX, инструмент telerik-rau-exploit и две готовые полезные нагрузки. Уязвим компонент RadAsyncUpload версий с 2010.1.309 по 2026.2.519; исправление вошло в 2026.2.708 (2026 Q2 SP1). При успешной атаке код получает права пула приложений IIS.
Цепочка работает лишь при совпадении двух условий: страница выводит RadAsyncUpload, а серверный обработчик читает результат загрузки; кроме того, для элемента задан явный нестандартный ключ шифрования. Если хотя бы одного условия нет, этот способ неприменим. Ирония в том, что Telerik прежде советовала задавать собственный ключ ради усиления защиты.
Первая брешь, CVE-2026-13182, связана с шифрованием клиентского состояния через AES-CBC без проверки целостности. Изменённый шифротекст вызывает различимые ответы: при корректном дополнении обработка доходит до ошибки разбора JSON, при некорректном завершается раньше. Так возникает padding oracle, позволяющий восстановить конфигурацию загрузчика без знания ключа. Затем фиксированная начальная величина шифрования помогает подделать конфигурацию.
CVE-2026-13181 получила 8,1 балла CVSS и рейтинг High. Поддельная конфигурация позволяет указать произвольный : RadAsyncUpload разрешает его без списка допустимых типов и десериализует в гаджет, загружающий DLL злоумышленника. Высокая сложность атаки относится к необходимым настройкам приложения; после их обнаружения сама эксплуатация уже не требует сопоставимых препятствий.
Если подробные ошибки скрыты, остаётся CVE-2026-13183: результат определяется по времени ответа. Марсио Алмейда указал автором этого варианта Джастина Стивена. CVE-2026-13184 касается отдельного режима атаки с предсказуемым стандартным ключом, однако опубликованная демонстрация его не использовала.
Эксплойт многократно отправляет обработчику изменённое зашифрованное состояние, восстанавливает открытый текст по ответам либо задержкам, а затем формирует новую конфигурацию с произвольным . Десериализация загружает смешанную DLL, и нативный код запускается сразу при загрузке сборки. TantoSec выпустила две такие нагрузки: одна записывает веб-шелл на диск, другая целиком работает в памяти.
Полная демонстрация потребовала примерно 127 000 запросов к оракулу. На лабораторной системе атака заняла около часа; ограничение частоты запросов растягивает процесс. Публикация Марсио Алмейды впервые дала посторонним готовый маршрут от проверки цели до выполнения кода.
Подтверждённых атак через уязвимости 2026 года на 7 сентября не было, и в каталоге Known Exploited Vulnerabilities агентства CISA они отсутствовали. IONIX заявила, что «отслеживает продолжающиеся попытки эксплуатации», но не назвала даты, объёмы и иные проверяемые подробности, а также не отделила эксплуатацию от обычного интернет-сканирования.
Опасения подпитывает история того же обработчика. Уязвимость десериализации CVE-2019-18935, обнаруженную в 2019 году, объединяли со слабостью шифрования 2017 года. Этой цепочкой пользовались вымогательские группировки и государственные хакеры; она фигурировала во взломе федерального ведомства США в 2022 году, а эксплуатация, по сообщениям, продолжалась ещё в 2025-м.
В июльском бюллетене Progress Software описана и отдельная цепочка RCE в RadPersistenceManager и RadDockLayout: CVE-2026-13185, CVE-2026-13186 и CVE-2026-13190. Исследование приписано Маркусу Вульфтанге из CODE WHITE и компании Progress. Публичного эксплойта для этой цепочки пока нет.
Официальная рекомендация Progress одна: перейти на Telerik UI for AJAX 2026.2.708 или новее. Обновление заменяет уязвимую схему AES-CBC аутентифицированным шифрованием и закрывает всю цепочку RadAsyncUpload. Более стойкий пользовательский ключ не спасает: оракулу не требуется его вычислять.
Если обновление приходится отложить, customErrors следует установить в RemoteOnly либо On, что оставит лишь более медленный временной канал. Ненужный обработчик отключается параметром Telerik.Web.DisableAsyncUploadHandler = true. Ещё один временный вариант — удалить пользовательский ключ и применять машинный ключ с AES и HMAC либо вручную создать стойкие machine keys вместо генерации при запуске. Progress предупреждает, что успешная атака может «не оставить очевидных следов в стандартных журналах ошибок ASP.NET», поэтому стоит искать запуск cmd.exe процессом w3wp.exe, неожиданные файлы .aspx в корне сайта и смешанные DLL во временном каталоге загрузчика или App_Data.


Новое на сайте

Ссылка