CVE-2024-0853
curl OpenSSL: повтор TLS-сеанса мог обойти проверку OCSP
Проверьте curl/libcurl 8.5.0 с OpenSSL, если используется только TLS 1.2 и проверка OCSP stapling. Неудачная проверка могла оставить TLS-сеанс в кэше для повторного использования; исправлено в 8.6.0.
Кому нужно проверить
Разработчикам и администраторам приложений на curl/libcurl с OpenSSL, TLS 1.2 и проверкой OCSP stapling. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Если первая проверка OCSP завершилась ошибкой, а затем клиент повторно использовал сохранённый сеанс для того же имени, последующая проверка статуса могла быть пропущена. Это влияет на проверку отзыва сертификата только при указанных условиях.
Затронутые версии
Затронуты curl/libcurl 8.5.0 со сборкой OpenSSL при TLS 1.2 и включённой проверке статуса сертификата через OCSP stapling. Повторный запрос к тому же имени мог использовать сохранённый TLS session ID и пропустить следующую OCSP-проверку. TLS 1.3 этим advisory не затронут; версии до 8.5.0 и начиная с 8.6.0 не затронуты.
Исправленные версии
Исправлено в curl/libcurl 8.6.0. Пакеты поставщика могут иметь backport, поэтому сверяйте его бюллетень безопасности.
Что сделать
- 1Проверьте, что приложение действительно использует libcurl 8.5.0 с OpenSSL, TLS 1.2 и OCSP stapling; одного номера системной команды curl недостаточно.
- 2Подготовьте копию сборки/настроек и испытайте обновление на staging с успешной и неуспешной проверкой сертификата.
- 3Обновите libcurl до 8.6.0 или установите пакет поставщика с исправлением; статически собранные приложения необходимо пересобрать.
- 4До обновления можно временно не использовать TLS 1.2 в этой связке или исключить повторное использование затронутой конфигурации, если приложение позволяет сделать это безопасно. Не выключайте проверку сертификата; ограничение не заменяет обновление.
- 5После обновления убедитесь, что отказ OCSP остаётся отказом и приложение корректно устанавливает соединение с действительным сертификатом. Сохраните проверенный образ для отката.
Как повторное использование связано с OCSP
OCSP stapling сообщает клиенту статус сертификата; уязвимость затрагивала повторное использование TLS-сеанса после неудачной проверки.
- 1Первое TLS-соединение проходит проверку статуса сертификата.
- 2Проверка OCSP завершается ошибкой, но сеанс остаётся в кэше.
- 3Запрос к тому же имени повторно использует сеанс.
- 4Уязвимая версия пропускает проверку статуса при повторе.
Примеры конфигурации и проверки
curl -q --versionКоманда только выводит сведения о локальном исполняемом файле; её можно выполнить без sudo в терминале Linux/macOS. Она не устанавливает сетевое соединение и ничего не меняет. Строка OpenSSL относится к этому curl, но не доказывает, что приложение использует ту же библиотеку или OCSP stapling; уточните это в настройках приложения.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.