Vulnerabilidades en HTTP/2 expone a millones de sitios a ataques DoS

En HTTP/2, la ultima version de protocolo de red HTTP se han encontrado múltiples vulnerabilidades de seguridad que afectan al web server mas popular, que incluye Apache, Microsoft´s IIS y NGINX.

Lanzado en mayo del 2015, HTTP/2 fue diseñado para mejorar la experiencia de navegación mejorando la velocidad de carga de las paginas y su seguridad. Al día de hoy mas de cien millones o un 40% de los sitios de internet están usando este nuevo protocolo.

Se encontraron un total de 8 vulnerabilidades graves en HTTP/2, siete de estas descubiertas por Jonathan Looney de Netflix y una por Piotr Sikora de Google, existen debido al agotamiento de los recursos cuando se manejan entradas maliciosas, lo que permite que un cliente sobrecargue el código de gestión de colas del servidor.

Estas vulnerabilidades son explotables en DoS (Denial of Service), esto podría afectar a los millones de servicios que están corriendo en un servidor web con la implementación HTTP/2.

¿Como es el ataque en términos simples?, básicamente es que un cliente malicioso le pide a un servidor vulnerable objetivo que haga algo que genere una respuesta, pero luego el cliente se niega a leer la respuesta, forzándolo a consumir memoria y CPU excesivas mientras procesa las solicitudes.

Estos defectos permiten una pequeña cantidad de sesiones maliciosas de bajo ancho de banda, esto para evitar que los participantes de la conexión realicen un trabajo adicional. Es probable que estos ataques agoten los recursos de manera que otras conexiones o procesos en la misma máquina también puedan verse afectados o bloquearse“, explica Netflix en un aviso publicado el martes.

La mayoría de las vulnerabilidades enumeradas a continuación funcionan en la capa de transporte HTTP / 2:

  • CVE-2019-9511 — HTTP/2 “Data Dribble”
  • CVE-2019-9512 — HTTP/2 “Ping Flood”
  • CVE-2019-9513 — HTTP/2 “Resource Loop”
  • CVE-2019-9514 — HTTP/2 “Reset Flood”
  • CVE-2019-9515 — HTTP/2 “Settings Flood”
  • CVE-2019-9516 — HTTP/2 “0-Length Headers Leak”
  • CVE-2017-9517 — HTTP/2 “Internal Data Buffering”
  • CVE-2019-9518 — HTTP/2 “Request Data/Header Flood”

Algunos son lo suficientemente eficientes como para que un único sistema final pueda causar estragos en varios servidores. Otros ataques son menos eficientes; sin embargo, incluso los ataques menos eficientes pueden abrir la puerta a ataques DDoS que son difíciles de detectar y bloquear“, señala el aviso.

De todas formas estas vulnerabilidades no permiten la modificación ni extracción de datos de contenidos en los servidores, solo se pueden utilizar para aplicar la técnica de DoS.

El equipo de seguridad de Netflix se asocio con Google y el centro de coordinación CERT para poder informar de manera responsable las vulnerabilidades a cada uno de los proveedores y mantenedores afectados por lo antes mencionado.

Según el CERT, los proveedores afectados incluyen NGINX , Apache , H2O , Nghttp2, Microsoft (IIS), Cloudflare , Akamai , Apple ( SwiftNIO), Amazon, Facebook (Proxygen), Node.js y Envoy proxy, muchos de los cuales ya han lanzado parches de seguridad y avisos.

Referencias:

https://thehackernews.com/2019/08/http2-dos-vulnerability.html

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

https://www.f5.com/labs/articles/threat-intelligence/denial-of-service-vulnerabilities-discovered-in-http-2

https://www.zdnet.com/article/severe-vulnerabilities-discovered-in-http2-protocol/

https://www.redeszone.net/2019/08/14/nuevas-vulnerabilidades-http2-explotar-servidores-no-parcheados/

http://sedici.unlp.edu.ar/handle/10915/68348