
Хакер #326. Router from Hell
Подписка на «Хакер» -60%
ИБ-специалисты обнаружили уязвимость в Squid, популярном кеширующем прокси-сервере с открытым исходным кодом. Проблема присутствовала в коде с 1997 года и позволяла похищать незашифрованные HTTP-запросы других пользователей, включая заголовки авторизации, сессионные токены и ключи API.
Как пишут исследователи Calif.io, нашедшие проблему с помощью Claude Mythos Preview, уязвимость получила идентификатор CVE-2026-47729 и набрала 6,5 балла по шкале CVSS. Специалисты дали багу название Squidbleed из-за его сходства с нашумевшей уязвимостью Heartbleed , так как в обоих случаях ошибка приводит к чтению данных за границами буфера и утечке содержимого памяти.
Исследователи рассказали, что проблема скрывалась в парсере списков директорий FTP. Еще в 1997 году разработчики добавили код для обработки листингов старых серверов NetWare, которые дополняли строки лишними пробелами. Однако цикл, пропускавший пробельные символы, не останавливался на завершающем нулевом байте.
В итоге атакующий мог настроить подконтрольный ему FTP-сервер таким образом, чтобы строка листинга обрывалась сразу после временной метки и не содержала имени файла. Из-за этого указатель выходил за границы буфера, а Squid воспринимал найденные там данные как имя файла, копировал их и возвращал клиенту.
По словам специалистов, если ранее такой буфер содержал HTTP-запрос другого пользователя, короткий ответ FTP-сервера перезапишет лишь его начало, а остальные данные попадут атакующему. Исследователи продемонстрировали , что таким способом можно извлечь заголовок Authorization. Если он содержит нужные данные, атакующий получает возможность выдавать себя за другого пользователя.
Подчеркивается, что для эксплуатации Squidbleed злоумышленник должен иметь доступ к прокси, а также должен вынудить его подключиться к подконтрольному FTP-серверу через порт 21. Поэтому разработчики Squid классифицируют эту уязвимость как угрозу со стороны доверенного клиента, хотя поддержка FTP в Squid включена по умолчанию.
При этом обычный HTTPS-трафик атака не затрагивает, так как при использовании CONNECT-туннеля Squid не имеет доступа к его содержимому. Однако уязвимость может раскрыть незашифрованные HTTP-запросы, а также HTTPS-трафик в конфигурациях, где Squid расшифровывает его для инспекции.
Публичный PoC-эксплоит для уязвимости Squidbleed уже доступен на GitHub .
С исправлением проблемы возникла путаница: сначала разработчики сообщили, что устранили CVE-2026-47729 в версии Squid 7.6, а затем заявили, что патч вошел в версию версию 7.7 . При этом специалисты Debian пишут , что патч, вероятно, все же входит в состав версии 7.6. Из-за этого администраторам рекомендуют проверить наличие исправления в FtpGateway.cc или уточнить статус бэкпорта для своего дистрибутива. Самым надежным вариантом защиты специалисты называют полное отключение FTP, если он не используется.