Ошибка в одну строку, которая пережила 29 лет релизов, аудитов и переписываний в Squid — одном из самых широко развернутых прокси-серверов интернета — была исправлена после трех независимых повторных обнаружений за три месяца, включая одно, сделанное при помощи AI-модели, анализировавшей код.

Суть ошибки

Squidbleed (CVE-2026-47729) — это heap buffer over-read в парсере списка FTP-каталогов Squid, в коде совместимости для FTP-серверов NetWare, восходящем к коммиту от 18 января 1997 года. Корень проблемы — классическая ловушка C: strchr(), ищущая нулевой терминатор, возвращает указатель на сам терминатор, а не NULL, из-за чего цикл пропуска пробелов выходит за пределы строки в соседнюю heap-память. Ошибка получила оценку CVSS 7.5 и затрагивает каждую версию Squid в конфигурации по умолчанию — поддержка FTP включена по умолчанию, а порт 21 присутствует в стандартном ACL Safe_ports.

Кто под угрозой

Злоумышленник, который контролирует FTP-сервер, доступный через общий прокси Squid, может утекать фрагменты трафика других пользователей — прежде всего открытые HTTP-запросы и содержащиеся в них пароли, cookie и API-ключи. HTTPS-трафик, передаваемый как непрозрачные CONNECT-туннели, прочитать нельзя, что ограничивает риск открытым HTTP и конфигурациями с завершением TLS — однако это по-прежнему значимая доля в корпоративных сетях и у провайдеров, использующих общие прокси.

Как ее нашли

Павел Кохоут из Aisle Research сообщил об ошибке первым, 4 марта 2026 года. 17 апреля Лам Джун Ронг из Calif.io независимо подтвердил ее — после того как направил Claude Mythos от Anthropic на FTP-машину состояний Squid в рамках Project Glasswing, программы Anthropic для проверенных защитников критической инфраструктуры. Calif сообщает, что модель почти сразу заметила особенность, указав, что "strchr(w_space, '\0') returns non-NULL per C11 §7.24.5.2." Третье сообщение, от Youssef Awad, последовало 7 мая. Исправление — двухстрочная проверка на NULL — было слито в апреле, вышло в Squid 7.6 8 июня и было отражено в официальном уведомлении 23 июня.

Исправление и вывод

Помимо патча, рекомендация Calif сформулирована прямо: отключить FTP. Браузеры на базе Chromium отказались от FTP много лет назад, и в большинстве сетей его трафик почти отсутствует. Этот эпизод перекликается с недавними находками с помощью AI в FFmpeg и других проектах — скрытыми багами парсеров в устаревшем коде протоколов, которые десятилетиями были невидимы для людей, но всплывают за месяцы, когда к аудиту подключается AI.