Clicky

8 Nuevos defectos de implementación de HTTP/2 exponen sitios web a ataques DoS

Categoría: Seguridad
Visitas: 789
Ataque DoS sobre HTTP/2

Fuerzan al servidor a consumir excesivas memoria y CPU mientras procesa las solicitudes

Se ha encontrado que varias implementaciones de HTTP/2, la última versión del protocolo de red HTTP, son vulnerables a múltiples vulnerabilidades de seguridad que afectan al software de servidores web más populares, incluidos Apache, IIS de Microsoft y NGINX.

Lanzado en mayo de 2015, HTTP/2 ha sido diseñado para una mayor seguridad y una mejor experiencia en línea al acelerar la carga de páginas. Hoy, más de cientos de millones de sitios web, o alrededor del 40 por ciento de todos los sitios en Internet, se ejecutan utilizando el protocolo HTTP/2.

Un total de ocho vulnerabilidades HTTP/2 de alta gravedad, siete 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.

Las vulnerabilidades pueden explotarse para lanzar ataques de denegación de servicio (DoS) contra millones de servicios en línea y sitios web que se ejecutan en un servidor web con la implementación vulnerable de HTTP/2, dejándolos fuera de línea para todos.

El escenario de ataque, en términos simples, 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 excesivas memoria y CPU mientras procesa las solicitudes.

"Estos defectos permiten una pequeña cantidad de sesiones maliciosas de bajo ancho de banda 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"

"Algunas 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.

Sin embargo, debe tenerse en cuenta que las vulnerabilidades solo pueden usarse para causar una condición DoS y no permiten que los atacantes comprometan la confidencialidad o integridad de los datos contenidos en los servidores vulnerables.

El equipo de seguridad de Netflix, que se asoció con Google y el Centro de Coordinación CERT para divulgar las fallas HTTP/2 informadas, descubrió en mayo de 2019 siete de las ocho vulnerabilidades en varias implementaciones de servidores HTTP/2 y las informó de manera responsable a cada uno de los proveedores y mantenedores afectados.

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