
XStream DoS CVE-2021-21341
Vulnérabilité
CVE-2021-21341 : XStream peut provoquer un déni de service.
Versions affectées
Toutes les versions jusqu'à la version 1.4.15 incluse sont affectées, si vous utilisez la version telle quelle. Aucun utilisateur n'est affecté s'il a suivi la recommandation de configurer le framework de sécurité de XStream avec une liste blanche limitée aux types requis minimaux.
Description
Le flux traité au moment de la désérialisation contient des informations de type pour recréer les objets précédemment écrits. XStream crée donc de nouvelles instances sur la base de ces informations de type. Un attaquant peut manipuler le flux d'entrée traité et remplacer ou injecter un ByteArrayInputStream (ou une classe dérivée) manipulé, ce qui peut provoquer une boucle infinie entraînant un déni de service.

$ 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)
Modifier pom.xml comme ci-dessous
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
Ajouter NoTypePermission.NONE
import com.thoughtworks.xstream.security.NoTypePermission; // Add
XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);