Опубликованы результаты независимого аудита безопасности открытого кэширующего прокси-сервера Squid, проведённого в 2021 году. В ходе проверки кодовой базы проекта выявлено 55 уязвимостей, из которых в настоящее время 35 проблем пока не исправлены разработчиками (0-day). Разработчики Squid были уведомлены о проблемах ещё два с половиной года назад, но так и не завершили работу по их устранению. В конечном счёте автор аудита решил раскрыть информацию не дожидаясь исправления всех проблем и предварительно уведомил об этом разработчиков Squid.
Среди выявленных уязвимостей:
- Переполнение стека в реализации аутентификации по хэшу (Digest Authentication), проявляющееся при обработке HTTP-заголовка Proxy-Authorization со слишком большим значением поля “Digest nc”.
- Обращение к памяти после её освобождения в обработчике запросов с методом TRACE.
- Обращение к памяти после её освобождения при обработке HTTP-запросов с заголовком “Range” (CVE-2021-31807).
- Переполнение стека при обработке HTTP-заголовка X-Forwarded-For.
- Переполнение стека при обработке chunked-запросов.
- Обращение к памяти после её освобождения в web-интерфейсе CacheManager.
- Целочисленное переполнение в обработчике HTTP-заголовка Range (CVE-2021-31808).
- Обращение к памяти после её освобождения и переполнение буфера в обработчике выражений ESI (Edge Side Includes).
- Многочисленные утечки памяти, выходы за границы буфера при чтении и проблемы, приводящие к аварийному завершению.
Release.
Ссылка here.