Зависимости IBM Sterling Secure Proxy допускают обход белого списка типов и отказ в обслуживании

IBM Sterling

IBM раскрыла сведения о множестве уязвимостей в IBM Sterling Secure Proxy - прокси-сервере, который компании ставят в пограничной сети для обмена файлами с внешними контрагентами. Уязвимости затрагивают сборки с 6.1.0.0 по 6.2.1.2. Исправления вышли 28 сентября 2026 года: ветку 6.1.0.x закрывает версия 6.1.0.5, ветку 6.2.x - версия 6.2.1.3. Одна проблема найдена в собственной логике продукта. Остальные пришли из библиотек, на которые он опирается: Jackson, Bouncy Castle, Log4j, axios и form-data. Обходных путей защиты IBM не предлагает.

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

Самая заметная уязвимость - в библиотеке Jackson. Она разбирает данные в формате JSON (текстовый формат обмена данными) и умеет создавать объекты по указанному в запросе типу. Механизм, который ограничивает эту возможность списком разрешённых типов, срабатывает неполно. Если запрещённый класс указан как параметр разрешённого контейнера, проверка пропускает его. Злоумышленник, управляющий содержимым запроса, добивается создания объекта того типа, который приложение явно запретило. Оценка - 8.1 по шкале CVSS (система оценки уязвимостей), идентификатор CVE-2026-54512. Похожая уязвимость позволяет обойти список через тип элемента массива. Ещё одна связана с отложенной проверкой: при разборе данных приложение может отправить DNS-запрос (запрос к службе имён) на адрес, выбранный атакующим. Это разновидность серверной подделки запросов, или SSRF.

Третья группа уязвимостей Jackson касается доступа к свойствам объектов. Из-за неверного порядка обработки настроек свойство, помеченное как исключённое, снова становится доступным для записи. Классы, собранные по правилам Java Records (неизменяемые структуры данных), получают значение через переименованный ключ в JSON, хотя стоят под запретом. Свойства, ограниченные по уровню видимости, при определённых настройках заполняются вопреки ограничению. Оценки здесь ниже - от 5.3 до 6.5, - но вместе эти уязвимости расширяют возможности того, кто уже нашёл способ подсунуть приложению свои данные.

Библиотека Bouncy Castle отвечает за криптографию. У неё выделяются три уязвимости с оценкой 9.1. Проверка штампованного ответа протокола OCSP (механизм оперативной проверки отозванных сертификатов) проходит без привязки к проверяемому сертификату, поэтому подложенный ответ принимается как действительный. Ограничения на имена в сертификатах обходятся добавлением точки в конце адреса электронной почты или идентификатора ресурса. Согласование ключа по одной из схем Диффи - Хеллмана возводит в степень непроверенное значение партнёра. Наряду с этим разбор хранилищ ключей и подписанных структур данных не ограничивает затраты памяти и вычислений, которые выбирает автор входных данных. Проверка подписи в одной из схем сообщает об успехе для набора без единого подписанта.

Log4j собирает и записывает журналы работы приложения. Атрибут, включающий проверку имени узла при защищённом соединении, с версии 2.12.0 молча игнорировался. Компоненты, отправляющие журналы по сети через протокол TLS (шифрование трафика), оставались открыты для атаки "человек посередине": атакующий с сертификатом от доверенного удостоверяющего центра перехватывает трафик. Оценка 5.9. Две другие уязвимости касаются форматирования записей. Перевод строки в поле нарушает структуру журнала, а символы, недопустимые в XML, ломают документ и приводят к потере записей в системах сбора. Обе - 7.5.

JavaScript-библиотеки в стеке продукта тоже дали набор проблем. В axios имена полей формы с тысячами вложенных квадратных скобок вызывают неконтролируемую рекурсию и переполнение стека вызовов, что ведёт к отказу в обслуживании, - 7.5. Адрес 0.0.0.0 не распознаётся как локальный петлевой, поэтому запрос уходит через прокси в обход правил, которые исключают такие адреса из проксирования, - 7.5. Ограничение на размер тела запроса не действует для потоковых данных и для HTTP/2 - от 5.3 до 7.5. Если в приложении уже есть прототипная инъекция (подмена общих свойств объектов), axios читает унаследованные значения и подставляет чужие учётные данные в заголовок Basic. Библиотека form-data не экранирует перевод строки и кавычки в имени поля при сборке составного запроса: атакующий дописывает собственные заголовки и подменяет поля, которые увидит серверная система, - 7.5.

Ещё один сюжет - ядро Jackson для асинхронного разбора. Ограничение на длину числа обходится при отправке данных мелкими порциями без завершающего символа. Накопитель растёт, пока не упрётся в лимит для строк, который в двадцать тысяч раз выше заявленного предела для чисел. Одно соединение раздувает оперативную память примерно на 40 МБ. Оценка 8.7. Реактивные платформы, принимающие поток байтов по мере поступления, попадают в эту схему напрямую.

Собственная уязвимость IBM - CVE-2026-18525 с оценкой 4.9. Прошедший аутентификацию удалённый пользователь вызывает отказ в обслуживании: проверка IP-адреса и порта прослушивания оставляет возможности для манипуляции.

Sterling Secure Proxy стоит на границе сети, обычно размещается в демилитаризованной зоне и обслуживает обмен коммерческими документами между организациями. Обход белого списка типов при разборе данных открывает путь к исполнению произвольного кода на сервере, и это самый тяжёлый из сценариев. Сообщений о применении перечисленных уязвимостей в реальных атаках пока нет. Практика последних лет показывает, что обход проверок такого рода быстро попадает в наборы инструментов атакующих, поэтому задержка с обновлением повышает риск.

Обновиться нужно до 6.1.0.5 или 6.2.1.3 в зависимости от ветки. IBM настаивает на скорейшем переходе, обходных мер не предусмотрено. Администраторам имеет смысл сверить список учётных записей с доступом к интерфейсу управления и ограничить сетевые пути к прокси. Журналы за последние месяцы полезно проверить на необычные запросы.

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

Ссылки

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