DataPower Gateway допускает подмену полей форм и внедрение скриптов в панель управления

IBM DataPower Gateway

DataPower Gateway содержит уязвимости в собственном коде и в сторонних библиотеках, на которых он построен. Среди них подмена полей в составных запросах, внедрение скриптов в панель управления и несколько ошибок, ведущих к отказу в обслуживании. Затронуты ветки 10.5, 10.6.0, 10.6CD и 11.0.0. Исправления вошли в версии 10.5.0.23, 10.6.0.11 и 11.0.0.3.

Уязвимости DataPower Gateway 10.5 и 11.0

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

Скрипты в панели управления

Одна из ошибок касается веб-интерфейса самого шлюза. Пользователь без учётной записи может внедрить в страницу произвольный код на JavaScript, и тот сработает в браузере администратора. IBM оценила эту уязвимость (CVE-2026-14990) в 9,3 балла. Сценарий требует, чтобы человек открыл подготовленную страницу, зато результатом может стать раскрытие учётных данных в доверенной сессии, то есть доступ к управлению устройством. Затронута только ветка 10.6.0.

Подмена полей и обход правил маршрутизации

Два исправления затрагивают библиотеки, которые шлюз использует при обработке запросов. Библиотека form-data собирает составные запросы и подставляет имена полей и имена файлов в служебный заголовок без экранирования символов возврата каретки и перевода строки. Такой символ внутри имени закрывает текущую часть запроса и открывает новую. До серверной части доходит не тот набор полей, который проверял шлюз, поэтому настроенные на нём политики перестают защищать, а злоумышленник может дописать или переписать поле, которое внутренняя система считает доверенным (CVE-2026-12143).

Вторая библиотека, промежуточное ПО для проксирования HTTP, выбирает серверную часть по заголовку Host через поиск подстроки. Если заголовок лишь отчасти совпадает с настроенным правилом, запрос уходит на внутренний сервер, которого схема маршрутизации не предусматривала. Оценка этой уязвимости - 8,6 балла. Рядом закрыта и ошибка того же класса, при которой прокси заново собирает составное тело запроса без нейтрализации управляющих символов.

Разбор XML и отказы в обслуживании

Библиотека xmldom, отвечающая в шлюзе за разбор XML, не проверяет имена атрибутов, элементов и инструкций обработки. Имя с посторонним символом разрывает границу конструкции и позволяет дописать в документ лишние атрибуты, включая обработчики событий. Когда результат разбора попадает в браузер, это открывает путь к межсайтовому скриптингу. Там же нашлись алгоритмы с квадратичной сложностью: небольшой документ заставляет процесс выполнять огромное число сравнений и исчерпывать память. Один из этих сценариев срабатывает даже при обычных настройках разбора, без аутентификации.

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

Java-среда и системные библиотеки

Часть уязвимостей пришла вместе со средой выполнения IBM Semeru Runtime и виртуальной машиной OpenJ9. Самая тяжёлая связана с трассировкой аргументов методов и ведёт к переполнению вниз по границе буфера. Другая ошибка приводит к тому, что вызов метода после перекомпиляции класса направляется не туда, куда следует. Остальные проблемы среды Java дают возможность читать и изменять данные или вызывать частичный отказ в обслуживании.

Отдельно закрыта ошибка в системной библиотеке glibc: функция преобразования кодировок может аварийно завершить работу при обработке наборов символов IBM1390 и IBM1399 (CVE-2026-4046). Атакующему достаточно отправить соответствующий запрос, чтобы уронить приложение.

Как закрыть уязвимости

Исправления собраны в трёх версиях: 10.5.0.23, 10.6.0.11 и 11.0.0.3. Ветка 10.6CD отдельного патча не получила, её пользователям IBM предлагает переход на 11.0.0.3. Обходных мер вендор не предложил. Исключение - ошибка в glibc: если наборы символов IBM1390 и IBM1399 на устройстве не нужны, их удаление снимает риск. Пока обновление не установлено, доступ к интерфейсу управления разумно ограничить доверенными сетями, поскольку внедрение скрипта рассчитано именно на него.

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

Ссылки

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