CVE-2023-27538
libcurl SSH: соединение могло повторно использовать чужие ключи
Проверьте libcurl 7.16.1–7.88.1 при SCP/SFTP и смене SSH-ключей между передачами. Пул соединений мог вернуть старое соединение; исправление — 8.0.0.
Кому нужно проверить
Разработчикам интеграций с libcurl, SCP/SFTP и пулом соединений. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Передача могла пойти по соединению, созданному для другой пары ключей, нарушив ожидаемую изоляцию учетных записей.
Затронутые версии
В проверку пула не входили CURLOPT_SSH_PUBLIC_KEYFILE и CURLOPT_SSH_PRIVATE_KEYFILE, поэтому смена этих параметров могла не запретить повторное использование соединения.
Исправленные версии
Исправлено в libcurl 8.0.0. Временная мера — не смешивать разные ключи в одном пуле или временно избегать SCP/SFTP.
Что сделать
- 1Найдите вызовы SCP/SFTP и смену ключей при одном CURLM или пуле; не публикуйте пути приватных ключей.
- 2Проверьте два тестовых аккаунта и получателя файлов на staging.
- 3Обновите до 8.0.0 или исправленного пакета, пересоберите и перезапустите процессы со старым пулом.
- 4До обновления не смешивайте ключи в пуле или отключите reuse, учитывая потерю производительности.
- 5После обновления проверьте fingerprints, права ключей и журналы передачи; при подозрении смените ключи.
Почему важен пул SSH
Пул содержит уже открытые соединения для повторного использования.
- 1Первая передача открывает SSH с ключом A.
- 2Вторая использует ключ B.
- 3Старая проверка не учитывает смену файла.
- 4Пул возвращает соединение для A.
Примеры конфигурации и проверки
curl -q --versionНе устанавливает SSH-соединение и не раскрывает ключи. Приложение может использовать другую libcurl.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.