
IBM WebSphere desserialização de dados não confiáveis - IBM WebSphere 7,8,8.5,9
IBM WebSphere desserialização de dados não confiáveis - IBM WebSphere 7,8,8.5,9
Título: IBM WebSphere desserialização de dados não confiáveis
Aplicação: IBM WebSphere 7,8,8.5,9
Descrição: O servidor de aplicações desserializa dados não confiáveis quando o
cookie WASPostParam está presente. Isso pode levar a um DoS via
exaustão de recursos e potencialmente execução remota de código.
Autores: Federico Dotta <[email protected]>
Maurizio Agazzini <[email protected]>
Status do Fornecedor: Corrigido (PI62375)
Candidato CVE: O projeto Common Vulnerabilities and Exposures atribuiu
o nome CVE-2016-5983 a este problema.
Referências: 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
Ao usar autenticação de formulário personalizada, o IBM WebSphere define automaticamente os
cookies WASPostParam e WASReqURL quando o cookie de sessão LtpaToken2 é
inválido. Os dados contidos nesses cookies são usados quando o usuário faz login
novamente para recuperar a última página visitada e os parâmetros relacionados.
O WASPostParam é um objeto Java serializado que é desserializado sem
verificar o tipo do objeto. Esse comportamento pode ser explorado para causar uma negação de
serviço e potencialmente executar código arbitrário.
Os objetos que podem causar o DoS são baseados em payloads conhecidos divulgados
retirados de:
Atualmente não há cadeia conhecida que permita execução de código no IBM WebSphere,
no entanto novas cadeias são descobertas todos os dias.
O ataque pode ser reproduzido da seguinte forma:
crie uma aplicação com autenticação de formulário personalizada
após o login do usuário, o LtpaToken2 é definido pelo servidor de aplicações
faça uma requisição HTTP GET que contenha o cookie WASPostParam com um dos
seguintes conteúdos:
01_BigString_limited_base64.txt: é um objeto string; o servidor
responderá de forma normal (tamanho do objeto similar ao próximo).
02_SerialDOS_limited_base64.txt: o servidor de aplicações levará
cerca de 2 minutos para executar a requisição com 100% de uso de CPU.
03_BigString_base64.txt é um objeto string; o servidor
responderá de forma normal (tamanho do objeto similar ao próximo).
04_SerialDOS_base64.txt: o servidor de aplicações levará uma
quantidade desconhecida de tempo para executar a requisição com 100% de uso de CPU.
Esta vulnerabilidade afeta as seguintes versões e releases do
IBM WebSphere Application Server e versões anteriores:
Liberty 16.0.0.2
9.0.0.1
8.5.5.10
8.0.0.12
7.0.0.41
Aplique o Interim Fix PI62375
http://www-01.ibm.com/support/docview.wss?uid=swg24042712
Prova de Conceito.
Cronograma
20/08/2016 - Primeira comunicação enviada ao IBM PSIRT (psirt at us.ibm.com)
22/08/2016 - Resposta da IBM, PSIRT Advisory 6345 atribuído ao bug
05/10/2016 - Comunicação da IBM com informações de correção (PI62375)
07/10/2016 - Advisory de segurança lançado