Уязвимости в Progress Telerik UI для AJAX открывают путь к удалённому выполнению кода

Progress Telerik UI

В наборе компонентов Progress Telerik UI для AJAX обнаружено несколько уязвимостей, которые позволяют атакующему выполнить произвольный код на сервере, вызвать отказ в обслуживании и получить доступ к защищённым данным. Проблемы затрагивают все версии продукта до 2026.2.708 (2026 Q2 SP1). Разработчики выпустили исправление, устраняющее эти недочёты, и настоятельно рекомендуют обновиться.

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

Большая часть уязвимостей сосредоточена в компоненте RadAsyncUpload, отвечающем за асинхронную загрузку файлов. В обработке метаданных загрузки найдено сразу несколько ошибок. Одна из них позволяет злоумышленнику подделать служебные данные и добиться небезопасного разрешения типов, что в итоге ведёт к выполнению кода. Другая связана с различием в ответах сервера при неудачной расшифровке и при ошибке разбора JSON-данных. Такое поведение создаёт так называемый оракул, с помощью которого можно восстановить защищённые значения. Аналогичная проблема существует и в виде временной задержки: обработка метаданных может раскрывать информацию о корректности шифрования через измеримые различия во времени отклика.

Отдельная уязвимость в RadAsyncUpload касается использования предсказуемого ключа шифрования. Если в конфигурации не задан явный ключ, механизм защиты целостности метаданных переключается на стандартный ключ, что позволяет подделывать данные загрузки. Эта ошибка сама по себе не даёт выполнить код, но создаёт основу для комбинированных атак.

Проблемы обнаружены также в механизме сохранения состояния PersistenceFramework. При использовании cookie-хранилища для RadPersistenceManager или RadDockLayout происходит десериализация данных, которыми управляет атакующий. Это может привести к удалённому выполнению кода. Другая ошибка затрагивает файловое хранилище: из-за некорректной обработки пути злоумышленник может влиять на то, какой файл будет загружен как состояние, и тем самым инициировать опасную десериализацию. Третья уязвимость связана с небезопасным созданием объектов на основе сохранённого состояния.

Диалоговый обработчик, использующийся в RadEditor и RadFileExplorer, также оказался уязвимым. Недостаточная проверка входящих данных позволяет изменять поведение обработки запросов и создавать условия для дальнейших атак. Кроме того, параметры диалоговых запросов не имеют достаточной защиты целостности, что даёт возможность атакующему вмешиваться в серверную обработку.

В компоненте RadSpell, отвечающем за проверку орфографии, присутствует уязвимость обхода пути. Параметр языка не проверяется должным образом, поэтому злоумышленник может влиять на путь к файлу на сервере и инициировать непредусмотренные сетевые запросы.

Функция экспорта в PDF в RadEditor содержит уязвимость типа SSRF (подделка серверных запросов). Аутентифицированный пользователь может отправить на сервер специально подготовленный контент, который заставит сервер обращаться к произвольным хостам. В результате возможна утечка учётных данных Windows и разведка внутренней сети.

Устаревший компонент RadChart также содержит проблемы. Из-за использования жёстко заданного ключа шифрования неаутентифицированный злоумышленник может читать и удалять файлы с расширениями изображений в каталоге приложения. Хотя доступ ограничен графическими файлами, уязвимость остаётся опасной и требует внимания. Производитель рекомендует перейти на современный RadHtmlChart.

Наконец, в компоненте LayoutBuilder, который не предназначен для прямого использования, найдена уязвимость, связанная с обработкой XML. При разборе данных клиентского состояния не отключается обработка DTD, что позволяет вызвать экспоненциальное расширение сущностей и привести к отказу в обслуживании из-за исчерпания памяти.

Все перечисленные уязвимости имеют подтверждённые идентификаторы CVE. Наиболее серьёзные из них оцениваются в 8.1 балла по шкале CVSS и характеризуются как уязвимости высокой степени опасности. Ряд проблем имеет средний уровень угрозы, однако их эксплуатация в сочетании с другими ошибками может привести к полной компрометации системы.

Разработчики Progress устранили проблемы в версии 2026.2.708. Если обновление невозможно выполнить немедленно, пользователям рекомендуется применить временные меры: отключить неиспользуемые обработчики, настроить надёжные ключи машинного шифрования, а также избегать хранения состояния в cookie и использования пользовательских данных при формировании ключей хранилища. Для RadEditor с экспортом PDF следует ограничить доступ к страницам экспорта или полностью отключить эту функцию.

Эта серия уязвимостей в популярном наборе веб-компонентов привлекает внимание к рискам, связанным с устаревшими компонентами и недостаточной защитой служебных данных. Пользователям Telerik UI для AJAX рекомендуется как можно скорее проверить используемую версию и установить обновление, чтобы закрыть потенциальные векторы атак.

Ссылки

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