ИБ-специалисты обнаружили уязвимость в 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, если он не используется.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии