
XStream DoS CVE-2021-21341
Vulnerabilidade
CVE-2021-21341: XStream pode causar uma Negação de Serviço.
Versões Afetadas
Todas as versões até a versão 1.4.15 inclusive são afetadas, se estiver usando a versão padrão. Nenhum usuário que seguiu a recomendação de configurar o framework de segurança do XStream com uma whitelist limitada aos tipos mínimos necessários é afetado.
Descrição
O stream processado no momento da deserialização contém informações de tipo para recriar os objetos anteriormente escritos. O XStream cria, portanto, novas instâncias com base nessas informações de tipo. Um atacante pode manipular o stream de entrada processado e substituir ou injetar um ByteArrayInputStream manipulado (ou classe derivada), o que pode causar um loop infinito resultando em uma negação de serviço.

$ docker build -t cve-2021-21341 .
$ docker run -it --rm cve-2021-21341
Security framework of XStream not explicitly initialized, using predefined black list on your own risk.
(never end)
Alterar o pom.xml para abaixo
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
Adicionar NoTypePermission.NONE
import com.thoughtworks.xstream.security.NoTypePermission; // Add
XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);