
ARTDEPARTMENT

Cloudflare se ha vacada en la última decenio la reputación de ser uno de los gigantes tecnológicos más temidos por los atacantes de Internet. Su infraestructura integral actúa como un escudo anti-DDoS capaz de frenar oleadas de tráfico ladino que dejarían de rodillas a cualquier otra infraestructura online. Es, de hecho, la compañía que presume de deber contenido ataques de más de 11 terabits por segundo y miles de millones de peticiones por segundo.
Por otra parte, para entidades como LaLiga, que ha intentado combatir la difusión no autorizada de retransmisiones deportivas en tiempo positivo, Cloudflare se ha convertido en una pesadilla que no se aviene a pactar con ellos el asedio de dichas emisiones, lo que lo ha convertido en la diana de todos sus dardos legales y mediáticos.
Sin requisa, el pasado día 12 de septiembre, el cazador se convirtió en su propia presa: la empresa especializada en detener ciberataques se automóvil–DDoSéo por error de un error de programación en su panel de control. El resultado: más de una hora de caída de sus APIs internas y de su dashboard, aparejo secreto para millones de clientes en todo el mundo.
La ironía del suceso no ha pasado desapercibida: Cloudflare explicó en un referencia pormenorizado que el incidente comenzó con el despliegue de una nueva lectura de su Dashboard (el panel de encargo que usan los clientes). Y internamente del código React de esa interfaz había un error en el uso del hook useEffect.
Así, en sitio de ejecutar una petición a la Tenant Service API (el servicio encargado de autorizar solicitudes) una sola vez por renderizado, el bug hacía que se repitiera en rizo cada vez que cambiaba el estado de la aplicación. En la maña, esto significaba miles de llamadas redundantes en cuestión de segundos.
El momento no pudo ser peor: casi en paralelo, el equipo de ingeniería había desplegado una nueva lectura de la propia Tenant Service API. La combinación de los dos factores desencadenó lo que en la germanía se conoce como un 'thundering herd': una espantada de peticiones legítimas, pero descontroladas que saturó al servicio, incapaz de recuperarse por sí solo.

El epicentro de esta tormenta fue un añoso conocido para la comunidad de desarrolladores de React: el hook useEffect. Esta función, pensada para manejar posesiones secundarios, puede convertirse en una trampa si se configuran incorrectamente sus dependencias. En este caso, se incluyó un objeto que React trataba como 'nuevo' en cada cambio de estado, lo que provocaba que el objetivo se ejecutase repetidamente en un ciclo infinito.
La propia documentación oficial de React advierte de este tipo de errores, y en foros como Reddit el caso de Cloudflare ha reavivado el debate sobre si la industria depende en exceso de useEffect para tareas que deberían resolverse de otra forma.
El 'auto-DDoS' se desarrolló a lo espacioso de tres horas de vahído:
Eso sí, durante todo el incidente, la red de datos de Cloudflare siguió funcionando: el tráfico de webs y servicios protegidos nunca se vio afectado: solo la plataforma de encargo quedó fuera de combate.
Vía | Cloudflare
Imagen | Marcos Merino mediante IA
En Genbeta | Las webs saqueadas por empresas de IA les pagarán con su propia medicina: Cloudflare quiere poner a buen recaudo el contenido 'humano'
Compartir este artículo
Consultoria Personalizada
¡Si aun no tienes presencia en internet o
necesitas ayuda con tus proyectos, por favor, escribenos!