Внедрение внешних сущностей XML в отладчике XSLT Enterprise Architect позволяет читать локальные файлы

Sparx Systems

Отладчик XSLT в среде моделирования Sparx Enterprise Architect обрабатывает внешние сущности XML из загруженного документа. Из-за этого специально подготовленный файл открывает злоумышленнику доступ к произвольным данным на диске жертвы. Уязвимость получила идентификатор CVE-2026-88794, её оценили в 8,2 балла по CVSS 4.0 - это высокий уровень угрозы. В зоне риска рабочие станции архитекторов, системных аналитиков и всех, кто открывает модели в этом продукте.

Уязвимость CVE-2026-88794 в Sparx Enterprise Architect

Enterprise Architect помогает проектировать ИТ-системы и бизнес-архитектуры. Модели, диаграммы и связи между элементами хранятся в проектных файлах, которые команды передают друг другу. Отладчик XSLT (язык преобразования XML-документов) нужен для проверки преобразований, поэтому он первым принимает документы, пришедшие извне.

Ошибка кроется в разборе таких файлов. Если документ содержит инструкцию DOCTYPE со ссылкой на внешнее описание структуры (DTD), парсер подгружает указанный ресурс и подставляет его содержимое в обрабатываемый документ. Атакующий задаёт в ссылке путь к нужному файлу на диске и получает его содержимое в выводе отладчика. Класс проблемы - CWE-611, недостаточное ограничение ссылок на внешние сущности XML.

Вектор атаки и условия срабатывания

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

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

Кого затрагивает проблема

Подтверждена уязвимость в версии 17.1. Статус остальных выпусков помечен как неизвестный, поэтому исключать их нельзя. Связаться с Sparx Systems не удалось, исправленной версии нет, официальных обходных мер вендор тоже не предложил. Запись опубликовал CERT.PL, он же выступает в роли CNA - организации, которая присваивает идентификаторы и проверяет сведения об уязвимостях.

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

Для организаций неудобство добавляет неясность со списком уязвимых версий. Администратор не может опереться на официальное подтверждение вендора и вынужден исходить из худшего сценария, то есть считать уязвимыми все установленные копии. Формально единственный барьер - ручное подтверждение открытия файла. На практике пользователь, который работает с моделями по десять раз в день, редко задумывается о происхождении каждого документа.

Скрытая загрузка внешнего описания структуры не меняет сам документ и не выдаёт себя поведением интерфейса, поэтому обнаружить попытку чтения файлов по косвенным признакам сложно. До появления исправления организациям приходится опираться на собственные правила обращения с внешними XML-файлами и на ограничение доступа к рабочим станциям, где установлен Enterprise Architect.

Случай с CVE-2026-88794 показывает, как давняя и хорошо изученная ошибка разбора XML оказывается актуальной в специализированном коммерческом продукте. Молчание разработчика ошибку не отменяет, а лишь растягивает срок, в течение которого пользователи остаются без защиты.

Ссылки

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