Un fallo de una sola línea que sobrevivió durante 29 años de versiones, auditorías y reescrituras en Squid —uno de los servidores proxy más desplegados de Internet— ha sido parcheado tras tres redescubrimientos independientes en el plazo de tres meses, incluido uno guiado por un modelo de IA que estaba leyendo el código.

El fallo

Squidbleed (CVE-2026-47729) es una lectura fuera de límites en el heap en el analizador de listados de directorios FTP de Squid, dentro de código de compatibilidad para servidores FTP NetWare que se remonta a un commit del 18 de enero de 1997. La causa raíz es un clásico error de C: strchr(), al buscar el terminador nulo, devuelve un puntero al propio terminador en lugar de NULL, por lo que un bucle que omite espacios en blanco avanza más allá del final de la cadena hasta memoria heap adyacente. Con una puntuación CVSS de 7,5, afecta a todas las versiones de Squid en su configuración predeterminada: la compatibilidad con FTP está activada por defecto y el puerto 21 figura en la ACL Safe_ports predeterminada.

Quién está expuesto

Un atacante que controle un servidor FTP accesible a través de un proxy Squid compartido puede filtrar fragmentos del tráfico de otros usuarios —con solicitudes HTTP en texto claro, y las contraseñas, cookies y claves API que contengan, como botín. El tráfico HTTPS retransmitido como túneles CONNECT opacos no es legible, lo que limita la exposición al HTTP en claro y a configuraciones con terminación TLS, todavía una población significativa en redes corporativas y proveedores de Internet que operan proxies compartidos.

Cómo se descubrió

Pavel Kohout, de Aisle Research, reportó el fallo por primera vez el 4 de marzo de 2026. El 17 de abril, Lam Jun Rong, de Calif.io, lo informó de forma independiente, después de dirigir Claude Mythos de Anthropic al autómata de estados FTP de Squid en el marco de Project Glasswing, el programa de Anthropic para defensores acreditados de infraestructuras críticas. Calif afirma que el modelo detectó la rareza casi de inmediato y señaló que "strchr(w_space, '\0') returns non-NULL per C11 §7.24.5.2." Un tercer informe, de Youssef Awad, llegó el 7 de mayo. La corrección —una comprobación nula de dos líneas— se fusionó en abril, se publicó en Squid 7.6 el 8 de junio y quedó recogida en un aviso oficial el 23 de junio.

La corrección y la lección

Más allá del parche, la recomendación de Calif es tajante: desactivar FTP. Los navegadores basados en Chromium dejaron de admitir FTP hace años, y la mayoría de las redes apenas transportan tráfico de este tipo. El episodio recuerda a hallazgos recientes asistidos por IA en FFmpeg y otros proyectos: fallos de análisis ocultos en código de protocolos heredados, invisibles para los humanos durante décadas, que afloran en cuestión de meses cuando la IA entra en la auditoría.