



В прокси-сервере Squid нашли 29-летнюю уязвимость утечки HTTP-запросов в открытом виде
Уязвимость, связанная с чтением данных из памяти в веб-прокси Squid, может привести к утечке HTTP-запроса другого пользователя в открытом виде, включая любые учётные данные или токены сессии. Данные могут получить те, кому уже разрешена отправка трафика через тот же прокси.
Уязвимость связана с изменением в парсинге FTP в 1997 году и до сих пор присутствует в конфигурации Squid по умолчанию. Исследователи из Calif.io обнаружили её в июне и назвали Squidbleed (CVE-2026-47729) в честь Heartbleed, которая также приводила к утечке памяти.
Squid описывает это как атаку со стороны доверенного клиента, то есть того, кому уже разрешён доступ к прокси. Это соответствует обычным домашним сетям Squid, таким как школы, офисы и общедоступные сети Wi-Fi.
Утечка затрагивает только тот трафик, который может прочитать Squid. Обычный HTTPS использует непрозрачный туннель CONNECT, поэтому Squid не видит его содержимое. Раскрытые данные представляют собой HTTP-трафик в открытом виде, а также конфигурации с завершением TLS, где Squid расшифровывает и анализирует данные.
Злоумышленнику необходимо, чтобы прокси-сервер мог связаться с контролируемым им FTP-сервером на порту 21. И FTP, и этот порт был включён по умолчанию.
Уязвимость находится в парсере списка каталогов FTP Squid. Для обработки старых серверов NetWare, которые добавляли в списки лишние пробелы, код пропускает пробелы с помощью цикла: while (strchr(w_space, *copyFrom)) ++copyFrom;.
Если FTP-сервер злоумышленника отправляет строку списка, которая заканчивается сразу после метки времени, без имени файла, copyFrom находит нулевой символ-терминатор строки. strchr рассматривает этот завершающий NUL как часть строки, которую он ищет, поэтому возвращает указатель вместо NULL, и цикл никогда
Читать на habr.com