On Sunday 5 October 2025 at 08:22 UTC, a credential stuffing targeted a news publisher customer in Western Europe. The attack peaked at 386.7 million requests per second and lasted 38 minutes. Traffic originated from 3479 autonomous systems in 113 countries, predominantly hijacked home routers.
| Vector | credential stuffing |
| Peak | 386.7 million requests per second |
| Duration | 38 min |
| Time to mitigation | 0.895 s |
| Attack traffic reaching origin | 0.052% |
| Legitimate traffic challenged | 0.17% |
Timeline
The attack was preceded by a ransom note demanding payment in Monero. Request rates on the targeted routes exceeded their hourly baseline by a factor of 645 within 14 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
- Lower challenge thresholds on authentication endpoints during high-risk events.
- Enable authenticated origin pulls.
- Review allow-listed partner ranges quarterly.
Thanks — sharing this with our on-call team.
How does the proof-of-work challenge behave on older Android devices? Any numbers below Android 10?
Any plans to support per-tenant limits keyed on a JWT claim?