Un bogue d’une seule ligne qui a survécu pendant 29 ans de versions, d’audits et de réécritures dans Squid — l’un des serveurs proxy les plus déployés sur internet — a été corrigé après trois redécouvertes indépendantes en l’espace de trois mois, dont une guidée par un modèle d’IA lisant le code.

Le bogue

Squidbleed (CVE-2026-47729) est une lecture hors limites du tampon du tas dans l’analyseur de listes de répertoires FTP de Squid, dans un code de compatibilité pour les serveurs FTP NetWare datant d’un commit du 18 janvier 1997. La cause racine est un piège classique du C : strchr(), en recherchant le terminateur nul, renvoie un pointeur vers ce terminateur plutôt que NULL, si bien qu’une boucle sautant les espaces dépasse la fin de la chaîne pour lire dans la mémoire du tas adjacente. Évaluée CVSS 7,5, la faille affecte toutes les versions de Squid dans leur configuration par défaut — la prise en charge de FTP est activée par défaut et le port 21 figure dans la liste ACL Safe_ports par défaut.

Qui est exposé

Un attaquant qui contrôle un serveur FTP accessible via un proxy Squid partagé peut exfiltrer des fragments du trafic d’autres utilisateurs — avec, à la clé, des requêtes HTTP en clair, ainsi que les mots de passe, cookies et clés API qu’elles contiennent. Le trafic HTTPS relayé sous forme de tunnels CONNECT opaques n’est pas lisible, ce qui limite l’exposition au HTTP en clair et aux configurations où TLS est terminé en amont — une population qui reste toutefois significative dans les réseaux d’entreprise et chez les FAI exploitant des proxies partagés.

Comment elle a été découverte

Pavel Kohout d’Aisle Research a signalé le bogue en premier le 4 mars 2026. Le 17 avril, Lam Jun Rong de Calif.io l’a signalé indépendamment — après avoir soumis Claude Mythos d’Anthropic à la machine d’état FTP de Squid dans le cadre de Project Glasswing, le programme d’Anthropic destiné aux défenseurs vérifiés des infrastructures critiques. Calif indique que le modèle a repéré l’anomalie presque immédiatement, en notant que « strchr(w_space, '\0') returns non-NULL per C11 §7.24.5.2. ». Un troisième signalement, signé Youssef Awad, a suivi le 7 mai. Le correctif — une vérification de NULL en deux lignes — a été fusionné en avril, livré dans Squid 7.6 le 8 juin, puis couvert par une alerte officielle le 23 juin.

Le correctif et l’enseignement

Au-delà du correctif, la recommandation de Calif est sans détour : désactiver FTP. Les navigateurs fondés sur Chromium ont abandonné FTP il y a des années, et la plupart des réseaux en transportent presque plus. L’épisode fait écho à des découvertes récentes assistées par l’IA dans FFmpeg et ailleurs — des bogues d’analyseurs enfouis dans du code de protocoles hérités, invisibles pour les humains pendant des décennies, qui refont surface en quelques mois dès lors que l’IA entre dans l’audit.