Documented incidentIncident 2025-07-14CloudflareEngineering postmortem

Dormant configuration error in legacy routing systems withdraws Cloudflare's 1.1.1.1 DNS resolver worldwide (2025)

A configuration change on June 6, 2025 for a not-yet-used service accidentally included the 1.1.1.1 resolver's IP prefixes in that service's topology; the error sat dormant in production.

What happened

  • On July 14, an unrelated change to the same pre-production service triggered a global refresh of route configuration, which withdrew the resolver's prefixes and made 1.1.1.1 unavailable worldwide for 62 minutes.Cloudflare 1.1.1.1 incident on July 14, 2025
  • Cloudflare attributed the outage to a misconfiguration in legacy systems that advertise its IP addresses, which lacked the staged, health-monitored deployment of the newer system it was migrating to.Cloudflare 1.1.1.1 incident on July 14, 2025

The failure pattern

Watch the pattern: Global change without a staged rollout

Safeguards that address it

CollectSEA's engineering analysis of what would have prevented or contained this failure.

  • Validate configuration against what it will change, not only what it addsBefore deploying routing or topology changes, diff the complete resulting state and flag any change to production services outside the change's intended scope.
  • Roll out configuration in stages with health checksPropagate address and routing changes to a small set of locations first and stop automatically when traffic or health signals drop.

Related standards

CollectSEA's mapping through this incident's failure pattern; not an official determination by the standards bodies.

Building something similar?

Describe your design and see every precedent that applies, with safeguards you can hand to your coding agent.

Analyze your design