In the wake of cloudbleed, the (most?) popular CDN and other related services like reverse proxies, content ejection, SSL, or load balancing provider cloudflair is under fire for leaking potentially hundreds of thousands of “should be secret” information directly from their server farms’ memory into their CDN served cached web resources.

The tricky thing about their incident is that while the root cause was easy enough to fix, the company continuances of their mistake will probably remain on the Internet for a long time. While they were serving the polluted web pages trough their CDN, web crawlers of Google, Yahoo, bing or other web caches like the wayback engine cached a lot of these. Even though Google was quick enough to evict the polluted pages, bing, Yahoo and potentially other web caches still holds a fair amount of web pages with polluted content.

It’s an interesting choice that cloudflair chose to rewrite their html parser engine using C, even when there are language like Rust is emerging to mitigate exactly these kinds of memory safety bugs in systems software. While I can’t blame them for using C provided the fact that Rust probably was not mature enough to be used in this kind of a task back when they wrote the engine, being as important part in the web as they are, cloudflair should have used the matured functional and formal verification techniques to mitigate these kinds of bugs from potentially memory unsafe programs written in C.