Introducción
XStream es una biblioteca basada en Java para serializar objetos Java a XML y viceversa. Recientemente, ha surgido una vulnerabilidad de denegación de servicio por desbordamiento de pila muy grave en XStream. Esta vulnerabilidad hace posible que un atacante remoto termine la aplicación con un error de desbordamiento de pila, dando lugar a una denegación de servicio, mediante la manipulación del flujo de entrada.
Vulnerabilidad
Los usuarios no sólo pueden utilizar XStream para convertir objetos Java en XML, sino también para convertir XML en objetos Java con XStream.
Para volver a convertir XML en objetos Java, XStream necesita la información de tipo de los objetos incluidos en el flujo que se procesa durante el desmarshalling. Un atacante puede procesar el flujo de entrada y, a continuación, sustituir o inyectar objetos. De esta forma, tan pronto como el XML se desmarca, se entra en el cálculo hash recursivo, y el hilo de ejecución se aborta con un error de desbordamiento de pila, provocando una denegación de servicio.
Versión afectada
XStream <= 1.4.19
Solución
1. Solución oficial: El proveedor ha publicado los parches y recomendamos a los usuarios que actualicen a XStream 1.4.20 o a una versión posterior. Visite:
http://x-stream.github.io/download.html
2. Soluciones en GitHub: Mitigue este riesgo detectando el StackOverflowError en el código cliente que llama a XStream. Visite:
https://github.com/advisories/GHSA-j563-grx4-pjpv
Implementación de la solución
El Sistema de Prevención de Intrusiones (IPS) de Hillstone Networks y el Sistema de Detección de Brechas del Servidor (sBDS) de Hillstone pueden soportar la detección y protección de esta vulnerabilidad.
La información sobre esta vulnerabilidad también está disponible en Hillstone Networks iSource.