Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en la implementación AjpServerRequestConduit de Undertow (CVE-2022-2053)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-400 Consumo de recursos no controlado (Agotamiento de recursos)
Fecha de publicación:
05/08/2022
Última modificación:
11/08/2022

Descripción

Cuando una petición POST llega a través de AJP y la petición excede el límite de tamaño máximo de post (maxEntitySize), la implementación AjpServerRequestConduit de Undertow cierra una conexión sin enviar ninguna respuesta al cliente/proxy. Este comportamiento resulta en que un proxy del front-end marque al trabajador del backend (servidor de aplicaciones) como un estado de error y no reenvíe peticiones al trabajador durante un tiempo. En mod_cluster, esto continúa hasta que la siguiente petición de STATUS (en intervalos de 10 segundos) del servidor de aplicaciones actualiza el estado del servidor. Así que, en el peor de los casos, puede resultar en "Todos los trabajadores están en estado de error" y mod_cluster responde "503 Service Unavailable" durante un tiempo (hasta 10 segundos). En mod_proxy_balancer, no reenvía las peticiones al trabajador hasta que pasa el tiempo de espera de "reintento". Sin embargo, por suerte, mod_proxy_balancer presenta el parámetro "forcerecovery" (habilitado por defecto; este parámetro puede forzar la recuperación inmediata de todos los trabajadores sin tener en cuenta el parámetro retry de los trabajadores si todos los trabajadores de un balanceador están en estado de error). Así, a diferencia de mod_cluster, mod_proxy_balancer no resulta en la respuesta "503 Service Unavailable". Un atacante podría usar este comportamiento para enviar una petición maliciosa y desencadenar errores en el servidor, resultando en DoS (denegación de servicio). Este fallo fue corregido en Undertow versión 2.2.19.Final, Undertow versión 2.3.0.Alpha2

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:a:redhat:integration_camel_k:-:*:*:*:*:*:*:*
cpe:2.3:a:redhat:jboss_fuse:7.0.0:*:*:*:*:*:*:*
cpe:2.3:a:redhat:undertow:*:*:*:*:*:*:*:* 2.2.19 (excluyendo)
cpe:2.3:a:redhat:undertow:2.3.0:alpha1:*:*:*:*:*:*