Giovedì 20 febbraio, alle 17:56 UTC, un bug nel sistema di automazione interno di Cloudflare ha cancellato 1.100 prefissi BGP su 4.306 — il 25% dei prefissi BYOIP (Bring Your Own IP). Un quarto di internet gestito da Cloudflare è diventato irraggiungibile. Per sei ore.
Laravel Cloud, migliaia di siti aziendali, applicazioni SaaS, persino il sito web di 1.1.1.1 — tutti giù. Mentre gli ingegneri Cloudflare cercavano di ripristinare manualmente i prefissi, un parametro query string senza valore aveva già fatto i suoi danni.
Vediamo cosa è successo, perché, e cosa significa per chi fa self-hosting.
Il bug: un parametro vuoto che ha cancellato tutto
Il codice faceva parte dell'iniziativa "Code Orange: Fail Small" — un progetto interno nato dopo due outage precedenti (novembre e dicembre 2025) per automatizzare le operazioni manuali rischiose. L'ironia è palpabile.
Ecco il cuore del problema. L'API di cleanup dei prefissi BYOIP veniva chiamata così:
GET /v1/prefixes?pending_delete
Il parametro pending_delete veniva passato senza valore. Il server faceva un check:
if v := req.URL.Query().Get("pending_delete"); v != "" { ... }
Con il parametro presente ma senza valore, Query().Get() restituisce stringa vuota. La condizione è false. Il filtro non viene applicato. L'API restituisce tutti i prefissi BYOIP, non solo quelli marcati per la cancellazione. Il task runner automatizzato li ha cancellati sistematicamente, uno per uno.
Il codice era stato integrato nel codice il 5 febbraio. Rilasciato in produzione il 20. 15 giorni in cui nessuno ha notato il bug — perché i dati di staging non contenevano prefissi non destinati alla cancellazione. Un test con dati realistici avrebbe esposto il problema in secondi.



