Advertencias de seguridad

Enrutamiento de servicio incorrecto en conexiones de cliente HTTP/2

14 de noviembre de 2019

Aplicabilidad


Esta advertencia de seguridad concierne a aquellos clientes cuyas peticiones de cliente HTTP/2 se procesaron en el centro de datos de Mineápolis-St. Paul (STP) de Fastly entre el 11 de noviembre de 2019 a las 21:57 UTC y las 00:50 UTC del 13 de noviembre de 2019 (aproximadamente 27 horas). No concierne a todos los clientes ni a todo el tráfico.


Resumen


El 11 de noviembre de 2019, a las 21:57 UTC, Fastly desplegó una nueva compilación de su software de terminación HTTP/2 en dos servidores de caché de Fastly del centro de datos de Mineápolis-St. Paul (STP). Esta compilación contenía un fallo de procesamiento que implicaba la reutilización de la conexión entre sistemas internos de Fastly (no relacionada con la multiplexación de HTTP/2) y provocaba que algunas peticiones entrantes de HTTP/2 destinadas a servicios de los clientes de Fastly pudieran enrutarse por error a un grupo de hasta 20 servicios y orígenes de clientes de Fastly. Esto daba lugar a que algunos datos de peticiones de cliente se entregaran a un origen de cliente incorrecto, con el consiguiente envío de respuesta por parte de este. Es posible que los clientes cuyos orígenes recibían estas peticiones por error registraran los datos de las solicitudes incorrectamente enrutadas.


Fastly recibió por primera vez notificación de este incidente por parte de un cliente el 12 de noviembre de 2019 a las 23:07 UTC. El 13 de noviembre de 2019, a las 00:50 UTC, todo el tráfico de clientes se desvió del centro de datos afectado. Fastly comenzó inmediatamente una investigación, y el 14 de noviembre de 2019, a las 00:31 UTC, confirmamos la presencia de datos de peticiones incorrectamente enrutadas en los registros de un cliente.


Calculamos que el fallo afectó al 0,00016 % de nuestro tráfico global de peticiones durante un periodo de 27 horas. Es poco probable que las peticiones de cliente afectadas procedieran de fuera de Norteamérica.


Como Fastly no almacena datos de registro de los clientes, no podemos asegurar con certeza si una petición afectada en concreto se enrutó incorrectamente.


Impacto


Durante el periodo de 27 horas, el problema afectó única y exclusivamente a dos servidores de caché de Fastly de Mineápolis-St. Paul (STP), un solo centro de datos —que además gestiona poco tráfico—, y no a todo el tráfico de clientes.


El fallo afectó a las peticiones enviadas a este centro de datos que cumplían todos los criterios siguientes:



  • La petición entrante debió haberse realizado a través de HTTP/2.

  • La petición entrante debió haberse enviado entre el 11 de noviembre de 2019, a las 21:57 UTC, y el 13 de noviembre de 2019, a las 00:50 UTC.

  • La petición debió haberse enrutado a través de los dos servidores de caché del centro de datos de Mineápolis-St. Paul (STP) que ejecutaban el software de terminación HTTP/2 defectuoso.


Las peticiones afectadas se enrutaron incorrectamente a 20 clientes de Fastly que son usuarios de la funcionalidad IP-to-Service Pinning de Fastly. Es posible que estos 20 clientes hayan registrado datos de peticiones de cliente, en función de sus configuraciones de Fastly y de registro de origen. En colaboración con nuestros clientes, Fastly recopiló datos de registro relacionados con este incidente para investigarlos y proporcionó datos de registro a los clientes afectados que lo solicitaron.


Los clientes que enviaron peticiones afectadas pudieron recibir respuestas de un servicio y un origen incorrectos. Esto pudo provocar que un cliente recibiera una respuesta inesperada debido a que un origen incorrecto habría respondido a una petición que contenía un encabezado Host y un identificador uniforme de recursos (URI) que no reconocía. Un ejemplo de respuesta en ese sentido podría ser una página de error 404 proveniente del origen incorrecto (posiblemente con contenido en forma de texto o imágenes procedentes de ese origen).


Las peticiones que cumplieran cualquiera de los siguientes criterios no se vieron afectadas:



  • Peticiones entrantes que utilizasen las versiones 1.0 o 1.1 de HTTP o HTTPS.

  • Peticiones entrantes enturadas a un servidor de caché de nuestro centro de datos de Mineápolis-St. Paul (STP) que estuviese ejecutando una compilación del software de terminación HTTP/2 sin el fallo de procesamiento.

  • Peticiones entrantes enrutadas a cualquier otro centro de datos de Fastly.


Las estimaciones de Fastly respecto a este incidente ocurrido en nuestro centro de datos de Mineápolis-St. Paul (STP) son las siguientes:



  • El centro de Mineápolis-St. Paul (STP) representó aproximadamente el 0,01 % del tráfico global de Fastly durante el periodo afectado.

  • Un 1,14 % de todas las peticiones destinadas al centro de datos de Mineápolis-St. Paul (STP) podría haberse enrutado incorrectamente.


La práctica totalidad del tráfico dirigido al centro de datos de Mineápolis-St. Paul (STP) procedía de peticiones de cliente entregadas a través de ISP de la región del Medio Oeste de los EE. UU. Las peticiones de cliente se enrutan por lo general al centro de datos que esté más cercano en términos geográficos. Es poco probable que el centro de datos de Mineápolis-St. Paul (STP) recibiera peticiones de cliente provenientes de fuera de Norteamérica.


Solución


Una vez que tuvimos conocimiento de que había peticiones que estaban recibiendo respuestas provenientes de servicios incorrectos, Fastly desvió todo el tráfico de clientes del centro de datos de Mineápolis-St. Paul (STP) y deshabilitó los dos servidores de caché que estaban ejecutando la compilación de software de terminación HTTP/2 defectuosa. Así, todo posible impacto en los clientes quedó mitigado a partir del 13 de noviembre de 2019 a las 00:50 UTC.


Además, Fastly verificó que esta compilación de software de terminación HTTP/2 defectuosa solo estaba presente en estos dos servidores de caché de nuestro centro de datos de Mineápolis-St. Paul (STP) y no se había desplegado en ninguna otra parte de la red de Fastly.


Las pruebas adicionales que se realizaron en toda la red de Fastly no revelaron reincidencia alguna de este fallo.


En colaboración con nuestros clientes de IP-to-Service Pinning, Fastly ha recopilado y analizado registros de aproximadamente el 98 % de las peticiones enrutadas incorrectamente. Los datos de registro recopilados se eliminarán de los sistemas de Fastly antes del 13 de diciembre de 2019.


Fastly prevé restablecer el servicio productivo en el centro de datos de Mineápolis-St. Paul (STP) en breve. El estado de Fastly (status.fastly.com) se actualizará cuando se haya completado la planificación.


Fastly lleva a cabo numerosas revisiones de seguridad, de ingeniería y de equipo de clientes, y va a implementar varios cambios en el protocolo operativo y de desarrollo para reducir el riesgo de que incidentes similares afecten a futuros despliegues de producción.


Más información


Si tienes alguna duda más, ponte en contacto con el personal de ingeniería de Fastly a través de support@fastly.com o con el equipo de seguridad de Fastly a través de security@fastly.com.


Historial de versiones



  • Versión 1.3: el apartado «Resumen» presenta estimaciones actualizadas de las peticiones afectadas tras el análisis de los datos de registro. Se ha actualizado el apartado «Impacto» con información añadida sobre la investigación de datos de registro de Fastly y la estimación actualizada del tráfico afectado del centro de datos de Mineápolis-St. Paul (STP). Se han añadido al apartado «Solución» detalles de los datos de registro que Fastly obtuvo durante este incidente y el anuncio del restablecimiento en breve del servicio productivo del centro de datos de Mineápolis-St. Paul (STP). 4 de diciembre de 2019, a las 00:12 UTC.

  • Versión 1.2: actualización del título de modo que refleje la aclaración del problema. Se han actualizado los apartados «Resumen», «Impacto» y «Solución» para reflejar esta misma aclaración y se han eliminado las referencias a «H2O», nombre del software de terminación HTTP/2 que Fastly personaliza para el despliegue en su plataforma, para facilitar la comprensión. 16 de noviembre de 2019, a las 01:14 UTC.

  • Versión 1.1: se han modificado ciertos términos para facilitar la comprensión del apartado «Resumen». Se han añadido ejemplos de experiencias de clientes en «Impacto»; nuevo párrafo tres. 15 de noviembre de 2019, a las 19:55 UTC.

  • Versión 1.0: lanzamiento inicial. 15 de noviembre de 2019, a las 00:26 UTC.

Suscríbete a las advertencias de seguridad.

Al enviar la solicitud, das tu consentimiento para que tus datos se envíen a Fastly en los Estados Unidos y sean tratados conforme a nuestra Política de privacidad.

¿List@ para empezar?

Ponte en contacto o crea una cuenta.