
La sobrelectura del montón en un proxy web de Squid podría potencialmente filtrar las solicitudes HTTP en texto plano de otro usuario (incluidas las credenciales y los tokens de sesión) a usuarios que ya están autorizados a enviar tráfico a través del mismo proxy.
Este error se remonta a los cambios en el análisis de FTP en 1997 y todavía está presente en la configuración predeterminada de Squid. Los investigadores de Calif.io lo publicaron en junio y lo llamaron Squidbleed (CVE-2026-47729) en honor a Heartbleed, que filtró memoria de la misma manera.
Squid describe esto como un ataque a un cliente confiable. Es decir, no un servidor aleatorio en Internet, sino alguien que ya está autorizado a utilizar el proxy. Esto coincide con las redes compartidas habituales de Squid, como Wi-Fi doméstico, escolar, de oficina y público. En esta configuración, el atacante es simplemente otro usuario del mismo proxy.
Además, las filtraciones sólo llegan al tráfico que Squid puede leer. HTTPS normal pasa a través de un túnel CONNECT opaco, por lo que Squid no puede ver el interior del túnel. El tráfico expuesto es HTTP de texto sin cifrar, además de configuraciones de terminación TLS, que Squid descifra e inspecciona.
El atacante también necesita un proxy para acceder al servidor FTP que controla en el puerto 21. Tanto FTP como sus puertos están activados de forma predeterminada.
Mecanismo de fuga
Este error existe en el analizador de listas de directorios FTP de Squid. Para trabajar con servidores NetWare más antiguos que rellenaban la lista con espacios adicionales, el código omite los espacios en blanco en el bucle: while (strchr(w_space, *copyFrom)) ++copyFrom;.
Si el servidor FTP del atacante envía una línea de lista sin un nombre de archivo, que finaliza inmediatamente después de la marca de tiempo, copyFrom alcanzará el terminador NULL en la cadena. strchr trata el NUL final como parte de la cadena que se busca, por lo que devuelve un puntero en lugar de un NULL y el bucle no se detiene. Comienza al final del búfer y xstrdup copia todo lo que sigue como nombre de archivo al atacante.
Los bytes filtrados son la parte útil. Squid reutiliza los buffers de memoria liberados en lugar de ponerlos a cero, por lo que el buffer de 4 KB que recientemente contuvo la solicitud HTTP de la víctima todavía contiene la mayor parte. Las líneas FTP cortas sólo sobrescriben los primeros bytes. La lectura excesiva devolverá el resto.
La demostración de Calif recupera suficientes encabezados de Autorización de una víctima que comparte el mismo proxy para actuar como ese usuario. El código de prueba de concepto está disponible públicamente y no se han reportado vulnerabilidades reales al momento de escribir este artículo.
que hacer
Al aplicar parches, busque correcciones, no solo versiones. Asegúrese de que el guardia esté en FtpGateway.cc o verifique si hay puertos traseros en su distribución. Esto se debe a que la distribución incluye su propia compilación (paquete Debian Squid 5.7).
El hilo público sigue siendo inconsistente. El mantenedor Amos Jeffries primero declaró que la solución estaba incluida en Squid 7.6 y luego la arregló en 7.7. El 22 de junio, Salvatore Bonaccorso de Debian señaló que el compromiso al que se hace referencia parece estar ya en 7.6.
Esta pequeña solución, que busca un terminador nulo antes de llamadas a strchr vulnerables, se fusionó con la rama de desarrollo en abril y con la versión 7 en mayo. Squid 7.6 parchea por separado CVE-2026-50012, un desbordamiento del montón cache_digest no relacionado.
En cualquier caso, el método más limpio es el recomendado por los investigadores. Eso significa desactivar FTP. Chromium dejó de usar FTP hace años, pero la mayoría de las redes tienen muy poco FTP, por lo que deshabilitarlo elimina esta superficie de ataque de forma gratuita, sin importar qué compilación ejecute.
Los riesgos son reales, pero existen límites. SUSE califica CVSS 6.5 como moderado y Vector explica su puntuación. El atacante necesita acceso proxy (privilegios bajos) y el único impacto es la confidencialidad, no hay impacto en la integridad o disponibilidad.
Calif cree que Claude Mythos Preview de Anthropic, el modelo detrás del Proyecto Glasswing, captó la peculiaridad de strchr casi al mismo tiempo, y el mismo tipo de agentes de inteligencia artificial con errores de análisis enterrados han surgido en otros lugares, incluido FFmpeg. Calif sugiere que el código FTP de Squid puede no ser el último lugar donde olvidó dejar de leer.
Source link
