Tanto Heartbleed como Cloudbleed eran errores del servidor web que devolvían datos confidenciales de búferes que no deberían tener. Esa es la similitud (y por qué ambos se llaman "sangrado".)
Una diferencia importante es que Heartbleed fue un error en openssl, que es una biblioteca en uso por millones de servidores web. La reparación de Heartbleed requería la revisión de cada servidor web. Cloudbleed es una falla en un servidor web propietario, y solo afecta a los sitios alojados en Cloudflare. Cloudflare es propietario de todos los servidores afectados y los ha revisado todos.
Otra diferencia es que Cloudbleed se reparó y reparó rápidamente al descubrirlo, lo que impidió que los atacantes estudiaran la falla en profundidad y descubrió posibles formas de utilizar los datos filtrados para explotar aún más los servidores. Heartbleed se estudió en detalle durante el tiempo que tomó parchar todos los servidores, y se descubrió que la memoria que contenía información sobre la clave privada podía ser robada.
Otra diferencia es que los datos filtrados por Cloudbleed se encontraban en el flujo de datos normal devuelto por el servidor web, y los datos filtrados podrían persistir en cualquier motor de búsqueda que los haya almacenado en caché. Los datos filtrados por Heartbleed solo respondían a un mensaje de solicitud de latido, que normalmente los motores de búsqueda no solicitan ni almacenan en caché. (Gracias a @gowenfawr y @Krazor por señalar esto).