CVE-2023-46218
curl: cookie с разным регистром могла обойти PSL
Проверьте curl/libcurl 7.46.0–8.4.0 при приёме HTTP-cookie и поддержке Public Suffix List. Вредоносный сервер мог создать слишком широкую cookie; обновитесь до 8.5.0.
Кому нужно проверить
Разработчикам интеграций, сохраняющих cookies при обращении к нескольким доменам. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
HTTP-сервер мог установить super cookie и добиться её отправки независимым доменам. Сессионный идентификатор в такой cookie мог раскрыться не тому сайту.
Затронутые версии
Затронуты curl/libcurl 7.46.0–8.4.0. Ошибка проверки домена cookie против Public Suffix List возникала из-за различия регистра. Без PSL защита от слишком широких cookie отсутствует; ошибка доступна и командному curl.
Исправленные версии
Исправлено в 8.5.0: строки перед сравнением приводятся к нижнему регистру. Временная мера — не использовать cookies, но это не замена обновлению.
Что сделать
- 1Проверьте cookie-jar, перенаправления, PSL и все версии curl/libcurl; не публикуйте cookie-файлы.
- 2Сделайте безопасную резервную копию конфигурации и проверьте изоляцию cookie на staging.
- 3Обновите до 8.5.0 или пакета с исправлением, пересоберите встроенную библиотеку и перезапустите процессы.
- 4До обновления ограничьте cookies доверенными доменами, не передавайте сессии по HTTP.
- 5После обновления очистите потенциально загрязнённые хранилища и смените сессии при признаках утечки.
Как появляется широкая cookie
Проблема касается границы домена.
- 1Сервер присылает Set-Cookie с доменом в другом регистре.
- 2curl сравнивает домен с PSL.
- 3Ошибка пропускает домен верхнего уровня.
- 4Cookie отправляется независимому домену.
Примеры конфигурации и проверки
curl -q --versionКоманда не читает cookie и не делает сетевой запрос. Features показывает поддержку PSL у системного curl; приложение может использовать другую libcurl.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.