
XStream DoS CVE-2021-21341
Vulnerabilidad
CVE-2021-21341: XStream puede causar una denegación de servicio.
Versiones afectadas
Todas las versiones hasta la 1.4.15 inclusive están afectadas si se utiliza la versión tal cual. Ningún usuario está afectado si siguió la recomendación de configurar el marco de seguridad de XStream con una lista blanca limitada a los tipos mínimos requeridos.
Descripción
El flujo procesado en el momento del unmarshalling contiene información de tipos para recrear los objetos previamente escritos. XStream crea, por tanto, nuevas instancias basadas en esta información de tipos. Un atacante puede manipular el flujo de entrada procesado y reemplazar o inyectar un ByteArrayInputStream manipulado (o una clase derivada), lo que puede causar un bucle infinito que resulta en una denegación de servicio.

$ 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)
Cambiar pom.xml a lo siguiente
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
Añadir NoTypePermission.NONE
import com.thoughtworks.xstream.security.NoTypePermission; // Add
XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);