
IBM WebSphere десериализация недоверенных данных - IBM WebSphere 7,8,8.5,9
IBM WebSphere десериализация недоверенных данных - IBM WebSphere 7,8,8.5,9
Заголовок: IBM WebSphere десериализация недоверенных данных
Приложение: IBM WebSphere 7,8,8.5,9
Описание: Сервер приложений десериализует недоверенные данные, когда
присутствует cookie WASPostParam. Это может привести к DoS
через исчерпание ресурсов и потенциально к удаленному выполнению кода.
Авторы: Federico Dotta <[email protected]>
Maurizio Agazzini <[email protected]>
Статус вендора: Исправлено (PI62375)
Кандидат CVE: Проект Common Vulnerabilities and Exposures присвоил
данной проблеме имя CVE-2016-5983.
Ссылки: http://lab.mediaservice.net/advisory/2016-02-websphere.txt
http://lab.mediaservice.net/code/websphere_payload.zip
http://www-01.ibm.com/support/docview.wss?uid=swg21990060
При использовании пользовательской аутентификации через формы IBM WebSphere автоматически устанавливает
cookie WASPostParam и WASReqURL, когда сессионный cookie LtpaToken2 является
недействительным. Данные, содержащиеся в этих cookie, используются при повторном входе
пользователя для получения последней посещенной страницы и связанных параметров.
WASPostParam представляет собой сериализованный Java-объект, который десериализуется без
проверки типа объекта. Это поведение может быть использовано для отказа в
обслуживании и потенциально для выполнения произвольного кода.
Объекты, которые могут вызвать DoS, основаны на известных раскрытых полезных нагрузках,
взятых из:
В настоящее время неизвестна цепочка, позволяющая выполнить код на IBM WebSphere,
однако каждый день обнаруживаются новые цепочки.
Атаку можно воспроизвести следующим образом:
создайте приложение с пользовательской аутентификацией через формы
после входа пользователя сервер приложений устанавливает LtpaToken2
выполните HTTP GET запрос, содержащий cookie WASPostParam с одним из
следующих содержаний:
01_BigString_limited_base64.txt: это строковый объект; сервер ответит
обычным образом (размер объекта похож на следующий).
02_SerialDOS_limited_base64.txt: сервер приложений потребует
около 2 минут для выполнения запроса с 100% загрузкой CPU.
03_BigString_base64.txt: это строковый объект; сервер ответит
обычным образом (размер объекта похож на следующий).
04_SerialDOS_base64.txt: сервер приложений потребует
неизвестное количество времени для выполнения запроса с 100% загрузкой CPU.
Эта уязвимость затрагивает следующие версии и выпуски
IBM WebSphere Application Server и предыдущие версии:
Liberty 16.0.0.2
9.0.0.1
8.5.5.10
8.0.0.12
7.0.0.41
Примените временное исправление PI62375
http://www-01.ibm.com/support/docview.wss?uid=swg24042712
Подтверждение концепции.
Временная шкала
20/08/2016 - Первое сообщение отправлено в IBM PSIRT (psirt at us.ibm.com) 22/08/2016 - Ответ IBM, уязвимости присвоен номер PSIRT Advisory 6345 05/10/2016 - Сообщение от IBM с информацией об исправлении (PI62375) 07/10/2016 - Выпущен бюллетень безопасности