El incidente fue causado por un subproceso de limpieza automatizado que, debido a un error en la construcción de su consulta API, interpretó incorrectamente una solicitud de eliminación de prefijos BYOIP pendientes como una solicitud para eliminar *todos* los prefijos BYOIP. La consulta `/v1/prefixes?pending_delete` con un valor vacío para `pending_delete` fue malinterpretada por el servidor API, que devolvió todos los prefijos BYOIP, lo que llevó al subproceso a ponerlos en cola para su eliminación.
La cascada de fallos comenzó con la retirada de rutas BGP para aproximadamente el 25% de los prefijos BYOIP de Cloudflare, lo que hizo que los servicios de los clientes fueran inalcanzables. Esto provocó un comportamiento de 'BGP Path Hunting' y errores HTTP 403 para los usuarios. Las salvaguardas fallaron porque el entorno de staging y las pruebas no cubrieron el escenario en el que un servicio de tarea ejecutaría cambios en los datos del usuario de forma autónoma sin una entrada explícita, centrándose en cambio en el flujo de autoservicio del cliente. La falta de una validación de esquema API estricta contribuyó a la interpretación errónea de la consulta.
La recuperación no fue inmediata debido a la complejidad de los estados de impacto. Algunos clientes solo tuvieron sus prefijos retirados y pudieron auto-remediar. Otros tuvieron bindings de servicio eliminados, lo que requirió una restauración manual más intensiva por parte de los ingenieros de Cloudflare, incluyendo un despliegue de configuración global para reaplicar los bindings de servicio a los servidores edge. La ausencia de un sistema de rollback de snapshots de estado operacional en producción, parte de la iniciativa 'Code Orange: Fail Small', prolongó la duración del incidente.