I’m not sure about Cloudflare but it might be as well.
Cloudflare was a chain of unfortunate events.
The TLDR is, a permission change caused a poorly written SQL query (without a properly filtering ‘where’ clause) to return a lot more data than normal. That data is used by an automated script to generate configuration files for the proxy services, because of the large return the configuration files were larger than normal (roughly 2x the size).
The service that uses these configuration files has pre-allocated memory to hold the configuration files and the larger config file exceeded that size. This case, of having a file too large for the memory space, was improperly handled (ironically but not literally ironically, it was written in Rust) resulting in a thread panic which terminated the service and resulted in the 5xx errors.
So, it’s more similar to the Crowdstrike crash (bad config file and poor error handling in a critical component).
Cloudflare was a chain of unfortunate events.
The TLDR is, a permission change caused a poorly written SQL query (without a properly filtering ‘where’ clause) to return a lot more data than normal. That data is used by an automated script to generate configuration files for the proxy services, because of the large return the configuration files were larger than normal (roughly 2x the size).
The service that uses these configuration files has pre-allocated memory to hold the configuration files and the larger config file exceeded that size. This case, of having a file too large for the memory space, was improperly handled (ironically but not literally ironically, it was written in Rust) resulting in a thread panic which terminated the service and resulted in the 5xx errors.
So, it’s more similar to the Crowdstrike crash (bad config file and poor error handling in a critical component).