Vulnerabilidad en protocolo HTTP2

El 4 de Abril se publicó una vulnerabilidad en la implementación que hacen del protocolo HTTP/2 varios proyectos de servidores web que podría usarse para crashear un equipo y por ello ser utilizado para una denegación de servicio (DoS).

Análisis

HTTP/2 utiliza campos de encabezado en los mensajes de solicitud y respuesta HTTP. Los campos de encabezado pueden incluir listas de encabezados, que a su vez se dividen en bloques de encabezados. Estos bloques de encabezado se transmiten en múltiples fragmentos a la implementación de destino. Las tramas HTTP/2 CONTINUATION se utilizan para continuar una secuencia de fragmentos de bloques de campos. Se utilizan para dividir bloques de encabezado en múltiples tramas. Los otros dos tipos de fragmentos de bloques de encabezado son HEADERS o PUSH_PROMISE. Las tramas CONTINUATION pueden utilizarse para continuar un fragmento de bloque de cabecera que no pudo ser transmitido por las tramas HEADERS o PUSH_PROMISE. Un bloque de cabecera se considera completado cuando el servidor recibe un flag END_HEADERS establecida. Con ello se pretende indicar que no hay más tramas CONTINUATION, HEADERS o PUSH_PROMISE. Se ha descubierto una vulnerabilidad en varias implementaciones que no limitan la cantidad de tramas CONTINUATION que se pueden enviar dentro de un mismo flujo de datos.

La implementación continuará recibiendo tramas mientras no se active el flag END_HEADERS durante estas comunicaciones. Un atacante puede inicializar una conexión a un servidor con tramas HTTP/2 típicas y luego recibir tramas iniciales del servidor. El atacante puede entonces comenzar una petición HTTP sin flags END_HEADERS establecidas. Esto puede permitir a un atacante enviar un flujo de tramas CONTINUATION al servidor de destino, lo que puede provocar un bloqueo por falta de memoria, permitiendo a un atacante lanzar un ataque de denegación de servicio (DoS) contra un servidor de destino que utilice una implementación vulnerable.

Además, un atacante puede enviar tramas CONTINUATION codificadas con HPACK Huffman a una implementación de destino. Esto puede causar el agotamiento de los recursos de la CPU y dar lugar a una denegación de servicio, ya que la CPU debe decodificar cada trama codificada que recibe.

Por ahora se ha observado que los siguientes productos se han visto afectados por esta vulnerabilidad en su implementación de HTTP/2:

 – amphp/http (CVE-2024-2653)

 – Apache HTTP Server (CVE-2024-27316)

 – Apache Tomcat (CVE-2024-24549)

 – Apache Traffic Server (CVE-2024-31309)

 – Envoy proxy (CVE-2024-27919 y CVE-2024-30255)

 – Golang (CVE-2023-45288)

 – h2 Rust crate, nghttp2 (CVE-2024-28182)

 – Node. js (CVE-2024-27983)

 – Tempesta FW (CVE-2024-2758)

Recomendaciones 

Se recomienda revisar las ultimas actualizaciones publicadas para los productos afectados y que se actualice el software a la última versión para mitigar las posibles amenazas.

En caso  de que no se hayan publicados actualizaciones para el producto afectado, como mitigación de la vulnerabilidad, se aconseja considerar la desactivación temporal de HTTP/2 en el servidor.

Referencias

https://kb.cert.org/vuls/id/421644

https://thehackernews.com/2024/04/new-http2-vulnerability-exposes-web.html

Vulnerabilidad Crítica en el Plugin de WordPress LayerSlider

El pasado día 25 de Marzo, se publicó una vulnerabilidad crítica de inyección SQL en el plugin LayerSlider puede ser explotada para extraer información sensible de las bases de datos de un sitio web.

Dicho plugin de sliders para WordPress con más de un millón de instalaciones activas, ofrece a los usuarios funciones de edición visual de contenidos web, efectos visuales digitales y diseño gráfico en una única solución.

Análisis

CVE-2024-2879 (CVSS 9.8 Crítica): El plugin LayerSlider para WordPress es vulnerable a la inyección SQL a través de la acción ls_get_popup_markup en las versiones 7.9.11 y 7.10.0 debido a un escape insuficiente en el parámetro suministrado por el usuario y a la falta de preparación suficiente en la consulta SQL existente. Esto hace posible que atacantes no autenticados añadan consultas SQL adicionales a consultas ya existentes que pueden ser utilizadas para extraer información sensible de la base de datos.

Recomendaciones 

Se recomienda actualizar a la versión 7.10.1 del plugin LayerSlider en la cual se solventa la vulnerabilidad reportada. 

Referencias

https://www.wordfence.com/blog/2024/04/5500-bounty-awarded-for-unauthenticated-sql-injection-vulnerability-patched-in-layerslider-wordpress-plugin/

https://www.cve.org/CVERecord?id=CVE-2024-2879

https://thehackernews.com/2024/04/critical-security-flaw-found-in-popular.html


Publicación boletín mensual

Hoy hemos emitido un nuevo boletín mensual con muchos consejos sobre ciberseguridad.

Todos los suscriptores del boletín mensual del CSIRT-CV han recibido el último ejemplar en sus correos.

Si queréis ser de los primeros en recibir nuestra publicación, podéis suscribiros aquí o, si preferís leerlo en nuestra página podéis hacerlo desde este enlace.

Vulnerabilidad en librería XZ Utils y Kernel Linux

Se han publicado recientemente 2 vulnerabilidades de criticidad crítica y alta que afectarían al Kernel de linux y a la librería XZ Utils.

Respecto a la primera, CVE-2024-1086, de ellas se ha publicado una prueba de concepto (POC) y respecto a la segunda, CVE-2024-3094, solo afecta a versiones de preproducción de algunas distribuciones de linux

Análisis

CVE-2024-3094 (CVSS 10 Crítica) : Andres Freund, ingeniero de software de Microsoft, ha descubierto una vulnerabilidad crítica en XZ Utils, una librería de compresión de datos ampliamente utilizada en varias distribuciones de Linux. En las versiones 5.6.0 y 5.6.1 se introdujo código malicioso. XZ Utils que incluye la librería liblzma utilizado por varios software, incluyendo sshd que es una de las técnicas conocidas para abusar del backdoor instalado.

La detección temprana ha evitado la inclusión de esta backdoor en versiones de producción.

Recursos afectados

– XZ Utils, versiones 5.6.0 y 5.6.1.

– Paquetes XZ de ArchLinux, versiones anteriores a 5.6.1-2 (concretamente 5.6.0-1 y 5.6.1-1).

– Fedora Linux 40, se recomienda utilizar la versión 5.4.

– Kali Linux, entre 26 y 29 de marzo.

– OpenSUSE Tumbleweed y openSUSE MicroOS, entre 7 y 28 de marzo.

– Versiones experimentales e inestables de Debian, desde 5.5.1alpha-0.1 hasta 5.6.1-1.

– Paquetes de XZ Utils 5.6.x creados en Debian inestable. Se recomienda a los usuarios de otras distribuciones consultar con sus distribuidores.

CVE-2024-1086 (CVSS 7.8 Alta): Una vulnerabilidad use-after-free en el componente netfilter: nf_tables del kernel de Linux puede ser explotada para conseguir una escalada local de privilegios. La función nft_verdict_init() permite valores positivos como código de error devuelto dentro del veredicto del hook, y por lo tanto la función nf_hook_slow() puede causar una vulnerabilidad de doble free cuando se emite NF_DROP con un código de error que se parece a NF_ACCEPT.

Recursos afectados

Versiones de Kernel Linux  v3.15 a v6.8rc1

Recomendaciones 

Para la CVE-2024-3094, se recomienda cambiar la versión de XZ Utils a una versión en producción no afectada, como por ejemplo 5.4.6, y después reiniciar el equipo o el servidor OpenSSH para eliminar el código de la memoria.

Para CVE-2024-1086, se recomienda actualizar a la versión más reciente de Kernel no afectadas por la vulnerabilidad como 6.1.76, 6.6.15 y 6.7.3.

Referencias

https://nvd.nist.gov/vuln/detail/CVE-2024-1086

https://nvd.nist.gov/vuln/detail/CVE-2024-3094

https://github.com/Notselwyn/CVE-2024-1086

https://thehackernews.com/2024/03/urgent-secret-backdoor-found-in-xz.html

https://unaaldia.hispasec.com/2024/03/dos-graves-vulnerabilidades-en-linux-escalada-de-privilegios-y-puerta-trasera-en-el-kernel.html