Craft 12/07/2026 à 11h177Ajouter aux favoris

Cloudflare a identifié un bug de concurrence dans hyper, la crate HTTP/1 du gros de l'écosystème Rust : sous certaines coïncidences temporelles, une grosse réponse pouvait être tronquée silencieusement - 200 OK, corps coupé. Fix upstream.
In plain terms. Une race condition dans hyper (la lib HTTP/1 utilisée par toute la stack Rust) pouvait, sous timing malchanceux, tronquer silencieusement une grosse réponse HTTP - le serveur renvoyait un 200 OK avec un corps incomplet, sans lever d'erreur. Cloudflare a trouvé, patché, publié.
InfoQ rapporte (2026-07-12) que les équipes Cloudflare ont documenté et corrigé une race condition rare dans l'implémentation HTTP/1 de hyper. Le bug, présent depuis plusieurs années, ne se déclenchait que sous des conditions de timing très précises : la réponse était alors coupée en cours de route tout en renvoyant un statut 200 OK. Le fix est upstream, la publication est notifiée.
Trois choses qui comptent. Un : à l'échelle Cloudflare, ce sont les coïncidences temporelles qui deviennent des bugs - pas la logique. Deux : le fait que Cloudflare ait pu isoler et corriger un bug de plusieurs années sur une crate aussi centrale rappelle pourquoi Rust s'est installé sur la couche réseau - la lisibilité du code force la reproductibilité du bug. Trois : personne, à part un opérateur à l'échelle Cloudflare, n'aurait vu ça. C'est le prix, et le bénéfice, de la mutualisation open source.
Les versions de hyper embarquées par Axum, Actix, reqwest - la propagation du fix va prendre plusieurs semaines dans l'écosystème.
So what. Le HTTP/1 n'est jamais fini. Rust ou pas, un serveur qui parle à Internet est un terrain à concurrences invisibles - et un 200 OK ne garantit pas que le corps est arrivé.
Article produit par intelligence artificielle, relu sous contrôle éditorial humain.
Connectez-vous pour rejoindre la discussion.
Un bug comme ça montre qu'on peut rater des trucs même avec des tests. Content que Cloudflare l'ait repéré avant qu'il fasse plus de dégâts.
Est-ce que ce bug a pu toucher d'autres implémentations HTTP/1 ou c'est spécifique à hyper ?
Curieux, on se demande depuis combien de temps ce bug passait inaperçu.
Difficile à dire, mais des bugs comme ça, ça traîne souvent sans qu'on les remarque.
Un bug comme ça, ça rappelle l'importance des tests pour les systèmes critiques. Est-ce que ça peut nuire à la confiance dans Rust pour les applications sensibles ?
Super trouvaille ! Je me demande comment ça affecte la performance et la fiabilité en production.
Ce bug prouve qu'aucun langage n'est infaillible. J'espère que le correctif est bien testé.
J'espère que ce bug n'a pas trop impacté les utilisateurs de Cloudflare. Ça doit être important de savoir à quel point c'était grave.