{"id":1259,"date":"2026-06-22T15:37:22","date_gmt":"2026-06-22T15:37:22","guid":{"rendered":"https:\/\/cybercolombia.co\/index.php\/2026\/06\/22\/el-error-de-proxy-squid-squidbleed-de-29-anos-puede-filtrar-solicitudes-http-de-texto-sin-cifrar\/"},"modified":"2026-06-22T15:37:22","modified_gmt":"2026-06-22T15:37:22","slug":"el-error-de-proxy-squid-squidbleed-de-29-anos-puede-filtrar-solicitudes-http-de-texto-sin-cifrar","status":"publish","type":"post","link":"https:\/\/cybercolombia.co\/index.php\/2026\/06\/22\/el-error-de-proxy-squid-squidbleed-de-29-anos-puede-filtrar-solicitudes-http-de-texto-sin-cifrar\/","title":{"rendered":"El error de proxy Squid &#39;Squidbleed&#39; de 29 a\u00f1os puede filtrar solicitudes HTTP de texto sin cifrar"},"content":{"rendered":"<div id=\"articlebody\">\n<p>Una sobrelectura del mont\u00f3n en el proxy web de Squid puede filtrar la solicitud HTTP en texto claro de otro usuario, incluidas las credenciales o tokens de sesi\u00f3n que lleva, a cualquiera que ya tenga permiso para enviar tr\u00e1fico a trav\u00e9s del mismo proxy.<\/p>\n<p>El error se remonta a un <a href=\"https:\/\/github.com\/squid-cache\/squid\/commit\/bb97dd37a\" target=\"_blank\">1997 cambio de an\u00e1lisis de FTP<\/a> y todav\u00eda est\u00e1 activo en la configuraci\u00f3n predeterminada de Squid. Investigadores de Calif.io <a href=\"https:\/\/blog.calif.io\/p\/squidbleed-cve-2026-47729\">lo revel\u00f3 en junio<\/a> y lo nombr\u00f3 <b>calamar <\/b>(<b>CVE-2026-47729<\/b>), despu\u00e9s de Heartbleed, que filtr\u00f3 memoria de la misma manera.<\/p>\n<p>Squid describe esto como un ataque de un <a href=\"https:\/\/seclists.org\/oss-sec\/2026\/q2\/896\">cliente de confianza<\/a>: alguien que ya tiene permiso para usar el proxy, no cualquier host aleatorio en Internet. Eso coincide con el hogar habitual de Squid, redes compartidas como escuelas, oficinas y Wi-Fi p\u00fablico. En esas configuraciones, el atacante es simplemente otro usuario del mismo proxy.<\/p>\n<p>La filtraci\u00f3n tambi\u00e9n llega s\u00f3lo al tr\u00e1fico que Squid puede leer. HTTPS normal recorre un t\u00fanel CONNECT opaco, por lo que Squid nunca ve su interior; el tr\u00e1fico expuesto es HTTP de texto sin cifrar, adem\u00e1s de configuraciones de terminaci\u00f3n TLS donde Squid descifra e inspecciona.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/ai-cant-stop-d\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEjPEV6-530TOlxG6PjrmdlY623wpBwduZ7t1HV6flcmO5R4q4AmfixDUzW0CrhlvMVNWbhvOIso-UDNTka4W_W9Chrdj_dglwBZwi7DuePM2IMIl-hfUYVIqBXgfpr_2619K8Gptb4LzwJ6gUbi7lWl2M8AFQJsHEaw63Q7tZ6708YGruiHrr0Y2W9YYxLQ\/s728-e100\/ThreatLocker-d.png\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>El atacante tambi\u00e9n necesita que el proxy llegue a un servidor FTP que controla en el puerto 21. Tanto FTP como ese puerto est\u00e1n activados de forma predeterminada.<\/p>\n<h2>C\u00f3mo funciona la fuga<\/h2>\n<p>El error se encuentra en el analizador de listado de directorios FTP de Squid. Para manejar servidores NetWare antiguos que rellenaban listados con espacios adicionales, el c\u00f3digo omite los espacios en blanco con un bucle: while (strchr(w_space, *copyFrom)) ++copyFrom;.<\/p>\n<p>Si el servidor FTP del atacante env\u00eda una l\u00ednea de listado que termina justo despu\u00e9s de la marca de tiempo, sin nombre de archivo, copyFrom aterriza en el terminador nulo de la cadena. strchr trata esa terminaci\u00f3n NUL como parte de la cadena que busca, por lo que devuelve un puntero en lugar de NULL y el bucle nunca se detiene. Sale del final del b\u00fafer y xstrdup copia lo que sigue al atacante como un nombre de archivo.<\/p>\n<p><iframe loading=\"lazy\" title=\"Squidbleed\" width=\"1170\" height=\"658\" src=\"https:\/\/www.youtube.com\/embed\/gYnBg8ig8_E?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Los bytes filtrados son la parte \u00fatil. Squid reutiliza los buffers de memoria liberados sin ponerlos a cero, por lo que un buffer de 4 KB que recientemente contuvo la solicitud HTTP de una v\u00edctima todav\u00eda contiene la mayor parte. Una l\u00ednea FTP corta sobrescribe s\u00f3lo los primeros bytes; la lectura excesiva devuelve el resto.<\/p>\n<p>La demostraci\u00f3n de Calif extrae un encabezado de Autorizaci\u00f3n de una v\u00edctima que comparte el mismo proxy, suficiente para actuar como ese usuario. <a href=\"https:\/\/github.com\/califio\/publications\/tree\/main\/MADBugs\/squidbleed\">El c\u00f3digo de prueba de concepto es p\u00fablico<\/a>y hasta el momento no se ha informado de explotaci\u00f3n en la naturaleza.<\/p>\n<h2>que hacer<\/h2>\n<p>Si aplica el parche, verifique la soluci\u00f3n, no solo la versi\u00f3n. Confirme que la guardia est\u00e9 en FtpGateway.cc, o verifique el backport de su distribuci\u00f3n, ya que las distribuciones env\u00edan sus propias compilaciones (paquetes Debian Squid 5.7).<\/p>\n<p>El hilo p\u00fablico sigue siendo inconsistente: el mantenedor Amos Jeffries primero dijo que Squid 7.6 ten\u00eda la soluci\u00f3n, luego <a href=\"https:\/\/seclists.org\/oss-sec\/2026\/q2\/930\">corregido eso a 7.7<\/a>y el 22 de junio Salvatore Bonaccorso de Debian <a href=\"https:\/\/seclists.org\/oss-sec\/2026\/q2\/995\">tom\u00f3 nota del compromiso al que se hace referencia<\/a> Parece que ya est\u00e1 en 7.6.<\/p>\n<div class=\"dog_two clear\">\n<div class=\"cf\"><a href=\"https:\/\/thehackernews.uk\/vpn-threat-report-m\" rel=\"nofollow noopener sponsored\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"lazyload\" alt=\"Ciberseguridad\" src=\"https:\/\/blogger.googleusercontent.com\/img\/b\/R29vZ2xl\/AVvXsEhFlTC7RrRZGiFAgASS0noWSL0qsQGFVp8-Hvuw9yp3X3VKRuTcb5SsPX09wJzrdIM6pu1_5lS4EeZp7Sx4iYBpNJkrGnpr08yyaS1HQ5_5TxaCsP6O0OtHNuOkesn6CbNjao1GPulCJk-uljYMSfMZfBYNrngpe669t7jlRn1FqiEnXhsFD1WVkpaYIVgh\/s728-e100\/ai-d.jpg\" width=\"729\" height=\"91\"\/><\/a><\/div>\n<\/div>\n<p>La soluci\u00f3n es peque\u00f1a, una <a href=\"https:\/\/github.com\/squid-cache\/squid\/commit\/865a131c7d557e68c965043d98c2eccae26deef8\">verificaci\u00f3n de terminador nulo antes de que las llamadas strchr vulnerables<\/a>fusionado con la rama de desarrollo en abril y v7 en mayo. Squid 7.6 parchea por separado CVE-2026-50012, un desbordamiento del mont\u00f3n cache_digest no relacionado.<\/p>\n<p>La medida m\u00e1s limpia es la que recomiendan los investigadores de todos modos: desactivar FTP. Chromium elimin\u00f3 FTP hace a\u00f1os y la mayor\u00eda de las redes casi no lo transportan, por lo que al desactivarlo se elimina esta superficie de ataque de forma gratuita, independientemente de la versi\u00f3n que ejecute.<\/p>\n<p>El riesgo es real pero limitado. SUSE lo califica como moderado, <a href=\"https:\/\/www.suse.com\/security\/cve\/CVE-2026-47729.html\">CVSS6.5<\/a>y el vector explica la puntuaci\u00f3n: el atacante necesita acceso proxy (privilegios bajos) y el \u00fanico impacto es la confidencialidad, nada sobre la integridad o la disponibilidad.<\/p>\n<p>Calif le da cr\u00e9dito a Claude Mythos Preview de Anthropic, el modelo detr\u00e1s del Proyecto Glasswing, por detectar la peculiaridad de strchr casi de inmediato; el mismo tipo de error enterrado del analizador que los agentes de IA han estado apareciendo en otros lugares, incluso en FFmpeg. Calif insin\u00faa que el c\u00f3digo FTP de Squid puede no ser el \u00faltimo lugar donde olvid\u00f3 dejar de leer.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Una sobrelectura del mont\u00f3n en el proxy web de Squid puede filtrar la solicitud HTTP en texto claro de otro usuario, incluidas las credenciales o tokens de sesi\u00f3n que lleva, a cualquiera que ya tenga permiso para enviar tr\u00e1fico a trav\u00e9s del mismo proxy. El error se remonta a un 1997 cambio de an\u00e1lisis de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":752,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,5],"tags":[3230,514,3233,778,2480,3231,88,82,716,2626,3229,3232],"class_list":["post-1259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-trending","tag-39squidbleed39","tag-anos","tag-cifrar","tag-error","tag-filtrar","tag-http","tag-proxy","tag-puede","tag-sin","tag-solicitudes","tag-squid","tag-texto"],"_links":{"self":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/comments?post=1259"}],"version-history":[{"count":0,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/posts\/1259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media\/752"}],"wp:attachment":[{"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/media?parent=1259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/categories?post=1259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybercolombia.co\/index.php\/wp-json\/wp\/v2\/tags?post=1259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}