
Reprodução da vulnerabilidade XSTREAM<=1.4.17 (CVE-2021-39141, CVE-2021-39144, CVE-2021-39150)
(O ambiente de demonstração Xstream acima foi montado por mim, o ambiente de exploração usa como referência o JDK1.8_u131, e agora suporta teste local e envio remoto de pacotes HTTP)
XSTREAM<=1.4.17 Reprodução de vulnerabilidades (CVE-2021-39141、CVE-2021-39144、CVE-2021-39150、CVE-2021-39152)
Não é fornecido o POC de exploração deste experimento; apenas demonstro o efeito da reprodução/exploração. Para evitar o uso por pessoas mal-intencionadas, é fornecido apenas o POC do site oficial: http://x-stream.github.io/changes.html
A máquina atacante inicia um serviço HTTP para acesso à classe Exploit.class e, em seguida, usa a ferramenta marshalsec para iniciar um listener LDAP, como abaixo:
Enviar a solicitação (pacote) já resulta em exploração bem-sucedida.

Basta enviar o pacote para explorar.

Uma solicitação de falsificação do lado do servidor pode ser ativada ao fazer unmarshalling com o XStream para acessar fluxos de dados de uma URL arbitrária que referencie um recurso na intranet ou no host local. Basta enviar o pacote para explorar.

Todas as versões até a 1.4.17 inclusive são afetadas se for usada a versão padrão com o Java runtime versão 14 a 8. Basta enviar o pacote para explorar.

Após testes, verificou-se que o IP ou domínio da intranet ou extranet só pode ser resolvido/sondado uma única vez.
