
XStream DoS CVE-2021-21341
Sicherheitslücke
CVE-2021-21341: XStream kann einen Denial of Service verursachen.
Betroffene Versionen
Alle Versionen bis einschließlich Version 1.4.15 sind betroffen, wenn die Version standardmäßig verwendet wird. Kein Benutzer ist betroffen, der der Empfehlung gefolgt ist, das Sicherheitsframework von XStream mit einer Whitelist zu konfigurieren, die auf die minimal erforderlichen Typen beschränkt ist.
Beschreibung
Der verarbeitete Stream enthält zum Zeitpunkt des Unmarshallings Typinformationen, um die zuvor geschriebenen Objekte neu zu erstellen. XStream erstellt daher neue Instanzen basierend auf diesen Typinformationen. Ein Angreifer kann den verarbeiteten Eingabestream manipulieren und einen manipulierten ByteArrayInputStream (oder eine abgeleitete Klasse) ersetzen oder einschleusen, was zu einer Endlosschleife und damit zu einem Denial of Service führen kann.

$ 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)
Ändern Sie pom.xml wie folgt
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.16</version>
</dependency>
Fügen Sie NoTypePermission.NONE hinzu
import com.thoughtworks.xstream.security.NoTypePermission; // Add
XStream xstream = new XStream();
xstream.addPermission(NoTypePermission.NONE); // Add
xstream.fromXML(xml);