Gracias a algunos reportes de fallas en el servicio de la popular plataforma de streaming Netflix un grupo de especialistas en análisis de vulnerabilidades ha detectado múltiples vulnerabilidades de denegación de servicio (DoS) en diversas implementaciones del protocolo de red HTTP/2, que permite la operación de la mayor parte del Internet convencional; según el reporte, si estas fallas fueran explotadas cualquier servidor podría colapsar por completo.
Lanzado en 2015, este protocolo es la más reciente versión de HTTP, que se encarga de la comunicación entre servidores web y clientes, introduciendo diversas mejoras pensadas para hacer la navegación en Internet una experiencia más eficiente y segura para los usuarios. Una de las principales mejoras al protocolo es la compresión del encabezado HTTP, pues en versiones anteriores del protocolo solo el cuerpo de una solicitud podía comprimirse, aunque para las páginas web pequeñas los encabezados podrían ser incluso más grandes que el cuerpo, mencionan los expertos en análisis de vulnerabilidades.
Acorde al reporte presentado a Netflix por la firma de seguridad Sophos, se encontraron al menos ocho vulnerabilidades diferentes, todas cuentan con una clave única del Common Vulnerability Scoring System (CVSS). Además, especialistas en análisis de vulnerabilidades afirman que algunas de estas vulnerabilidades son similares a otros exploits DoS funcionales para otras versiones del protocolo HTTP.
La vulnerabilidad identificada como CVE-2019-9512 es similar a la variante de denegación de servicio conocida como ‘pin flooding’, empleada para enviar múltiples solicitudes repetidas a un servidor, forzándolo a poner en cola las respuestas, por lo que eventualmente el servidor dejará de responder.
El resto de vulnerabilidades encontradas se encuentra a continuación:
- CVE-2019-9514: Inicia múltiples transmisiones y envía solicitudes no válidas para generar respuestas RST_STREAM, generando una condición DoS
- CVE-2019-9515: Se envía una secuencia de marcos de SETTINGS al par. Se supone que el servidor responde a cada solicitud de SETTINGS por lo que esto provoca una situación similar a la inundación de ping mencionada anteriormente
- CVE-2019-9518: Este es un ataque de frames vacíos que envía un flujo constante de frames con una carga útil vacía, haciendo que el servidor se sature tratando de manejarlas
- CVE-2019-9511: Esta falla usa múltiples transmisiones de manera que obliga al servidor a poner en cola los datos en pequeños fragmentos. Esto puede agotar los recursos del CPU y la memoria
- CVE-2019-9513: Esta falla cambia constantemente la prioridad de múltiples transmisiones, poniendo una carga innecesaria en el código de combinación aleatoria de prioridades del servidor
- CVE-2019-9516: Esta vulnerabilidad envía encabezados de datos marcados como vacíos, aunque se necesita memoria para enviar y recibir el bloque de datos que dice: “Aquí hay un elemento vacío”. Si el servidor mantiene los encabezados en la memoria en lugar de deshacerse de ellos, los atacantes podrían acceder a la memoria del servidor
Acorde a los especialistas en análisis de vulnerabilidades del Instituto Internacional de Seguridad Cibernética (IICS), este es un asunto serio que en verdad representa una amenaza para el uso seguro de Internet, pues alrededor del 25% de los sitios web que operan actualmente usan esta versión del protocolo HTTP.