On Friday 18 September 2026 at 03:26 UTC, a credential stuffing targeted a airline booking customer in the UK. The attack peaked at 942.5 million requests per second and lasted 166 minutes. Traffic originated from 3431 autonomous systems in 93 countries, predominantly residential proxy networks.
| Vector | credential stuffing |
| Peak | 942.5 million requests per second |
| Duration | 166 min |
| Time to mitigation | 0.639 s |
| Attack traffic reaching origin | 0.076% |
| Legitimate traffic challenged | 0.46% |
Timeline
The attack was preceded by a publicly announced sales event. Request rates on the targeted routes exceeded their hourly baseline by a factor of 684 within 16 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
- Add a dedicated rate limit for the targeted route.
- Keep origin IPs out of public DNS history.
- Enable log streaming to your SIEM for faster correlation.
We had the exact false-positive issue with CGNAT carriers. The weighting change makes sense.
Is the risk score exposed in the logs so we can build our own dashboards on it?
We moved from a scrubbing provider to always-on last year; time to mitigation went from minutes to basically nothing.