IBM выпускает исправления RESTEasy и Apache CXF для WebSphere

IBM WebSphere

IBM устраняет уязвимости в библиотеках RESTEasy и Apache CXF, на которых держатся REST- и XML-сервисы WebSphere Application Server. Часть находок позволяет удалённо вызвать отказ в обслуживании. Одна открывает чтение ответов чужой сессии через браузер. Затронуты WebSphere Application Server 9.0 и Liberty с включёнными функциями restfulWS, jaxrs, jaxws или xmlWS. Обходных мер вендор не приводит.

Что происходит с запросом

Отказ в обслуживании

Парсер XML в Apache CXF не ограничивал число элементов и общее число символов в документе. Крупный запрос расходовал память и процессор. Тяжелее всего приходилось при построении объектной модели документа, например в SAAJ и WS-Security. Если администратор не задал свой предел на размер запроса, сервер мог перестать отвечать на другие обращения. После исправления действуют значения по умолчанию: 5 000 000 элементов и 256M символов. Приложениям с крупными документами разрешено поднять обе границы настройками.

Рядом стоит ошибка в разборе заголовков вложений multipart/MTOM. Лимит в 300 символов применялся к каждой физической строке, но не к значению, собранному из строк-продолжений. Повторяющийся заголовок обходил проверку тем же способом. Для счётчика в 500 заголовков учитывались уникальные имена, а не общее число строк. Запрос с большим набором таких заголовков выделял память без ограничений. Аутентификация не нужна, хватает одного соединения.

Третья ошибка касается распаковки DEFLATE. Небольшая полезная нагрузка разворачивалась в гигабайты в оперативной памяти. Срабатывает при расшифровке JWE с включённым сжатием и при разборе SAML-токенов в redirect- и POST-привязках. Распаковка идёт до проверки доверия, поэтому валидная подпись не требуется. Теперь объём на выходе ограничен 10 MiB, при превышении обработка прерывается.

В RESTEasy похожая история с изображениями. Провайдер принимал картинку, не сверяя заявленные размеры и число пикселей с реальными. Маленький файл с огромными размерами вызывал крупное выделение памяти и исчерпывал кучу JVM. Учётные данные и участие пользователя тут тоже не нужны.

CORS и чтение ответов

Фильтр CORS в RESTEasy при настройке "разрешить все источники" возвращал в ответе заголовок Origin запроса вместе с разрешением передавать учётные данные. Браузер после этого отдавал чужому сайту ответы приложения от имени вошедшего пользователя. Схема требует перехода человека на страницу злоумышленника, сама по себе она не срабатывает. Оценка 7.4. В базе CISA для этой записи отмечен публичный демонстрационный код.

Порядок обновления

Фикс-паки для WebSphere выйдут только в четвёртом квартале 2026 года. Для Liberty это 26.0.0.12 или позднее, для традиционной версии - 9.0.5.30 или позднее. До этого IBM предлагает interim fix по APAR DT505285 для Liberty и DT506126 для WebSphere Application Server 9.0. Обновление самой библиотеки закрывает вопрос на уровне кода: Apache CXF 4.2.4, 4.1.9 и 3.6.13, RESTEasy 6.2.19.Final и 7.0.5.Final.

Liberty уязвима не всегда. Нужна включённая функция из перечисленных, и IBM отдельно объясняет, как проверить её наличие в конкретной установке. Если REST- и XML-функции не включены, экспозиции нет.

Оценки у сторон расходятся. Apache в своих записях CNA называет уровень низким для двух ошибок CXF и умеренным для распаковки. CISA в обогащении ставит 7.5 для всех трёх и относит влияние к доступности. Для администратора разница невелика: отказ в обслуживании без аутентификации остаётся отказом в обслуживании.

Сведений об эксплуатации в реальных атаках нет. Статус в SSVC для трёх ошибок CXF - none, для двух ошибок RESTEasy - poc. Иными словами, публичный демонстрационный код есть только у пары RESTEasy, атак в поле не зафиксировано.

Пределы по умолчанию могут отсечь легитимные документы и картинки. Если сервис принимает крупные XML-сообщения или изображения, проверьте нагрузку до выкладки исправления. Иначе обновление само вызовет сбой в работе приложения.

Ссылки

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