
XStream DoS CVE-2021-21341
Vulnerabilità
CVE-2021-21341: XStream può causare una negazione del servizio.
Versioni Affette
Tutte le versioni fino alla 1.4.15 inclusa sono affette, se si utilizza la versione così com'è. Nessun utente è affetto se ha seguito la raccomandazione di configurare il framework di sicurezza di XStream con una whitelist limitata ai tipi minimi necessari.
Descrizione
Il flusso elaborato al momento dell'unmarshalling contiene informazioni sul tipo per ricreare gli oggetti precedentemente scritti. XStream crea quindi nuove istanze basate su queste informazioni sul tipo. Un attaccante può manipolare il flusso di input elaborato e sostituire o iniettare un ByteArrayInputStream manipolato (o una classe derivata), che può causare un loop infinito risultando in una negazione del servizio.

$ 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)
Modifica pom.xml come segue
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
Aggiungi NoTypePermission.NONE
import com.thoughtworks.xstream.security.NoTypePermission; // Add
XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);