Vulnerabilidad en "Form#bindFromRequest" en la biblioteca de formularios de Play en Play Framework (CVE-2022-31018)
Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-400
Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
02/06/2022
Última modificación:
13/06/2022
Descripción
Play Framework es un framework web para Java y Scala. Se ha detectado una vulnerabilidad de denegación de servicio en las versiones 2.8.3 a 2.8.15 de la biblioteca de formularios de Play, tanto en la API de Scala como en la de Java. Esto puede ocurrir cuando es usado el método "Form#bindFromRequest" sobre un cuerpo de petición JSON o el método "Form#bind" directamente sobre un valor JSON. Si los datos JSON que son vinculados al formulario contienen un objeto JSON anidado profundamente o un array, la implementación de la vinculación del formulario puede consumir todo el espacio disponible en la pila y causar un "OutOfMemoryError". Si es ejecutado en el despachador por defecto y "akka.jvm-exit-on-fatal-error" está habilitado -como lo está por defecto- entonces esto puede bloquear el proceso de la aplicación. "Form.bindFromRequest" es vulnerable cuando es usado cualquier analizador de cuerpo que produce un tipo de "AnyContent" o "JsValue" en Scala, o uno que puede producir un "JsonNode" en Java. Esto incluye el analizador de cuerpos por defecto de Play. Esta vulnerabilidad ha sido parcheada en versión 2.8.16. Ahora se presenta un límite global en la profundidad de un objeto JSON que puede ser analizado, que puede ser configurado por el usuario si es necesario. Como mitigación, las aplicaciones que no necesiten analizar un cuerpo de petición de tipo "application/json" pueden cambiar el analizador de cuerpos por defecto por otro que sólo soporte el tipo de cuerpo específico que esperan
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:lightbend:play_framework:*:*:*:*:*:*:*:* | 2.8.3 (incluyendo) | 2.8.15 (incluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



