Algunos bugs pueden ser corregidos en pocas horas, otros demandan un poco más de tiempo, y después están aquellos que le arruinan el fin de semana a cualquiera. Cloudbleed encaja en esa última categoría. Gracias a un esfuerzo combinado entre ingenieros de Google y la gente de Cloudflare, los efectivos negativos de la vulnerabilidad ya fueron neutralizados, pero el problema es que los sitios respaldados por el proveedor de CDN y seguridad han filtrado datos privados durante meses, y no se sabe si alguien con malas intenciones estuvo escuchando…
Todo comenzó con un tweet enviado por Tavis Ormandy del Project Zero de Google al equipo de seguridad de Cloudflare: «Contáctense conmigo urgente». Eso fue el pasado 17 de febrero. Viernes. En cuestión de horas, Cloudflare determinó que su plataforma sufría una de las vulnerabilidades web más serias de los últimos tiempos, con características similares a las de Heartbleed. A la compañía le tomó menos de una hora (44 minutos para ser exactos) implementar su plan inicial de mitigación, lo que desde cierto punto de vista habla maravillas. Aún con el fin de semana en puerta, Cloudflare coordinó equipos en San Francisco y Londres para reproducir el problema, detectar la causa, y posteriormente aplastar al bug. Su explicación al público… demoró un poco más.
En términos relajados, Cloudbleed fue un desbordamiento de búfer. Cloudflare decidió utilizar un nuevo analizador sintáctico (léase parser) HTML, cf-html, como reemplazo de su actual parser basado en Ragel. Al adaptar el código de cf-html y Ragel a su plataforma, se introdujo un bug (que «no» está en los parsers, sino en la implementación de Cloudflare) a través del cual la información procesada era escrita en otra parte aún después de haber llenado el búfer. Y la clave aquí es «en otra parte». La información filtrada parece fuera de contexto, basura si se quiere. Sin embargo, el análisis de Ormandy detectó elementos muy perturbadores, desde contraseñas y cookies hasta llaves de cifrado, solicitudes HTTPS, mensajes privados y reservas de hoteles. La bomba cae con el detalle de que Google y otros buscadores han estado absorbiendo esta información en sus sistemas de caché… y que la primera filtración se remonta a septiembre del año pasado.
¿Cómo afecta esto al usuario? Si utilizas algún sitio o servicio protegido por Cloudflare, lo recomendable es cambiar la contraseña. Los datos disponibles sugieren más de cuatro millones de sitios potencialmente afectados, y en la lista encontramos nombres como Patreon, Yelp, OKCupid, BitPay, Uber, 1Password, Zendesk, Medium, Bitdefender, Pastebin, FitBit, Change.org, Feedly, Adafruit… es imposible citarlos a todos. La lista completa se encuentra junto a un resumen aquí, o como alternativa, se recomienda utilizar CloudBleedCheck para comprobar los dominios afectados. Técnicamente ya pasaron diez días desde Cloudbleed, pero aún quedan cachés por purgar.