Критические уязвимости в компонентах DHTMLX: обход каталогов и удаленное выполнение кода ставят под угрозу серверы

DHTMLX

Популярная библиотека для построения веб-интерфейсов DHTMLX, используемая тысячами разработчиков по всему миру, оказалась в центре внимания специалистов по информационной безопасности. В середине мая 2026 года были опубликованы данные сразу о трех критических уязвимостях, затрагивающих компоненты Diagram и модуль экспорта в PDF, входящий в состав продуктов Gantt и Scheduler. Проблемы позволяют неавторизованному злоумышленнику читать произвольные файлы с сервера и, что ещё опаснее, выполнять на нём собственный код. Атаки могут привести к полной компрометации серверной инфраструктуры.

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

Первая уязвимость, получившая идентификатор CVE-2026-7182, обнаружена в модуле экспорта компонента Diagram. Суть её кроется в отсутствии санитизации HTML-кода при обработке атрибута "src". Злоумышленник, не имеющий аутентификации, может сформировать специальный HTML-файл, который при генерации PDF-документа заставит сервер подгрузить локальные файлы - например, файлы конфигураций, базы данных или ключи доступа. Этот тип атаки называется Path Traversal (обход пути к каталогу). Специалисты DHTMLX устранили проблему в версии Diagram 1.1.1.

Другие две уязвимости затрагивают модуль экспорта в PDF, который встроен в решения Gantt и Scheduler. Первая из них - CVE-2026-41552 - также является обходом пути из-за отсутствия очистки HTML. Она работает по схожему принципу: неавторизованный пользователь внедряет вредоносную HTML-разметку, и сервер раскрывает содержимое локальных файлов в итоговом PDF. Вторая - CVE-2026-41553 - значительно серьёзнее. Она связана с недостаточной обработкой параметра "data", значение которого обрабатывается средой выполнения Node.js. Злоумышленник может вставить произвольный JavaScript-код в этот параметр, и тот будет выполнен на сервере. Другими словами, речь идёт о Remote Code Execution (удаленное выполнение кода). В результате атакующий может не только прочитать любые данные, но и изменить настройки системы, установить вредоносное программное обеспечение или полностью вывести сервер из строя.

Обе проблемы в PDF-модуле исправлены в версии 0.7.6. Уязвимость удаленного выполнения кода получила максимальный балл 10.0 по шкале CVSS 4.0, что говорит о её высочайшей критичности. Обходы путей оценены в 9.2 балла - также чрезвычайно опасный уровень.

Важно отметить, что для эксплуатации этих уязвимостей не требуется никаких привилегий: атака возможна извне, через стандартные веб-запросы. Это делает угрозу массовой: любой проект, использующий уязвимые версии DHTMLX Diagram, Gantt или Scheduler, становится лёгкой мишенью. Особенно это касается публичных веб-приложений, где пользователи могут загружать HTML-шаблоны или взаимодействовать с модулями экспорта.

С технической точки зрения, корень проблем лежит в недостаточной фильтрации входных данных. Разработчики не предусмотрели сценарии, при которых HTML-контент может содержать ссылки на локальные пути или исполняемые скрипты. В случае с выполнением кода через Node.js ситуация усугубляется тем, что модуль не отключает потенциально опасные функции при обработке аргументов.

Какие последствия могут наступить для организаций, не установивших обновления? В худшем случае - полная потеря контроля над сервером. Компрометация может оставаться незамеченной долгое время, пока злоумышленник использует ресурсы для атак на другие цели или кражи данных. Утечка конфигурационных файлов или базы данных пользователей приведёт к серьёзным репутационным и финансовым потерям. Кроме того, через скомпрометированный сервер можно получить доступ к внутренней сети компании.

Специалистам по безопасности и разработчикам настоятельно рекомендуется как можно скорее обновить компоненты DHTMLX до указанных версий. Для Diagram - не ниже 1.1.1, для модуля экспорта PDF - версии 0.7.6 или новее. Если обновление по каким-то причинам невозможно, следует временно отключить функции экспорта или ограничить доступ к ним через межсетевые экраны и системы управления доступом. Также стоит провести аудит журналов на предмет подозрительных запросов, связанных с генерацией PDF или загрузкой HTML-шаблонов.

Помимо обновления, разработчикам стоит пересмотреть подход к санитизации входных данных в своих проектах. Уязвимости такого рода - обход каталогов и инъекции кода - одни из самых распространённых, но при правильной обработке они полностью предотвратимы. Использование библиотек для очистки HTML и строгое ограничение путей к файлам могли бы исключить эти проблемы ещё на этапе проектирования.

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

Ссылки

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