HAProxy es vulnerable a un ataque crítico de contrabando de solicitudes HTTP

HAProxy, una herramienta de equilibrio de carga de código abierto ampliamente utilizada y un servidor proxy, ha revelado una falla de seguridad crítica que podría ser explotada por un enemigo para comprometer potencialmente las solicitudes HTTP, lo que resultaría en el acceso no autorizado a datos confidenciales y la ejecución de comandos arbitrarios, lo que abriría efectivamente la puerta a una serie de ataques.

La vulnerabilidad de desbordamiento de enteros, rastreada como CVE-2021-40346, tiene una calificación de gravedad de 8.6 en el sistema de calificación CVSS y se corrigió en las versiones 2.0.25, 2.2.17, 2.3.14 y 2.4.4 de HAProxy.

El contrabando de solicitudes HTTP, como sugiere el nombre, es un ataque a una aplicación web que manipula la forma en que la Web maneja las secuencias de solicitudes HTTP recibidas de más de un usuario. Esta técnica también se denomina desincronización HTTP y aprovecha el análisis de incoherencias en la forma en que los servidores front-end y back-end procesan las solicitudes de los remitentes.

Los servidores front-end suelen ser equilibradores de carga o proxies inversos que utilizan sitios web para administrar una cadena de solicitudes HTTP entrantes a través de una sola conexión y reenviarlas a uno o más servidores back-end. Por lo tanto, es importante que las solicitudes se procesen correctamente en ambos extremos para que los servidores puedan determinar dónde termina una solicitud y dónde comienza otra, y una falla puede conducir a un escenario en el que el contenido malicioso adjunto a una solicitud se agrega al comienzo de la siguiente. solicitud.

En otras palabras, debido al problema de cómo los servidores front-end y back-end procesan el inicio y el final de cada solicitud utilizando encabezados Content-Length y Transfer-Encoding, el final de una solicitud HTTP fraudulenta se calcula mal, lo que deja el contenido malicioso sin procesar. por un servidor pero con un prefijo al comienzo de la siguiente solicitud entrante en la cadena.

«El ataque fue posible al explotar una vulnerabilidad de desbordamiento de enteros que permitió que HAProxy alcanzara un estado inesperado al analizar las solicitudes HTTP, específicamente, en la lógica del encabezado de longitud del contenido», dijeron los investigadores de JFrog Security en un informe publicado el martes.

En un posible escenario de ataque del mundo real, la falla podría usarse para desencadenar un ataque de contrabando de solicitudes HTTP para eludir las reglas de la lista de control de acceso (ACL) definidas por HAProxy, que permite a los usuarios definir sus propias reglas para bloquear solicitudes maliciosas. .

Después de una detección responsable, HAProxy corrigió la debilidad agregando un control de tamaño para el nombre y la longitud del valor. “Como medida atenuante, basta verificar que no más de una [content-length] el encabezado está presente en cualquier informe «, dijo Willy Tarreau, creador y desarrollador principal de HAProxy, en un comunicado de GitHub publicado el 3 de septiembre.

Se recomienda a los clientes que no puedan actualizar a las versiones de software anteriores que agreguen el siguiente fragmento de código a la configuración del proxy para mitigar los ataques:

http-solicitud denegar si {req.hdr_cnt (longitud del contenido) gt 1}

http-respuesta denegar si {res.hdr_cnt (longitud del contenido) gt 1}

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática