On Sunday 16 April 2023 at 15:27 UTC, a TLS handshake exhaustion targeted a airline booking customer in Iberia. The attack peaked at 670.9 million requests per second and lasted 60 minutes. Traffic originated from 368 autonomous systems in 114 countries, predominantly hijacked home routers.
| Vector | TLS handshake exhaustion |
| Peak | 670.9 million requests per second |
| Duration | 60 min |
| Time to mitigation | 0.920 s |
| Attack traffic reaching origin | 0.073% |
| Legitimate traffic challenged | 0.75% |
Timeline
The attack was preceded by an extortion email received two days earlier. Request rates on the targeted routes exceeded their hourly baseline by a factor of 688 within 36 seconds. The risk score of participating clients crossed the challenge threshold automatically and proof-of-work difficulty rose with origin load.
What the customer saw
No customer-visible impact. The on-call engineer was notified and acknowledged the incident from the dashboard.
Recommendations
- Review allow-listed partner ranges quarterly.
- Enable authenticated origin pulls.
- Keep origin IPs out of public DNS history.
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
How do you avoid challenging uptime monitors and partners?