Все уязвимости

CVE-2023-27533

curl TELNET: пользовательские параметры могли стать управляющими командами

Если программа передаёт пользовательское имя или настройки в TELNET через curl/libcurl 7.7–7.88.1, проверьте обработку этих данных. Служебные байты могли изменить согласование соединения; исправление появилось в 8.0.0.

Проверено 6 ноября 2026Low (низкая) по шкале проекта curl. Реестр CVE содержит более широкие последствия и CVSS 3.1 9.8 от CISA ADP; это отдельная оценка. Advisory curl подтверждает внедрение данных в согласование TELNET, но не устанавливает неизбежное выполнение произвольного кода.

Кому нужно проверить

Администраторам старых интеграций и разработчикам программ, которые обращаются к оборудованию по TELNET через curl. Владельцу системы следует выяснить, кто может задавать имя и параметры соединения. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.

В чём риск

Протокол отличает обычный текст от служебных команд с помощью специальных байтов. Уязвимая версия передавала имя и параметры без нужной очистки. Пользователь мог подмешать управляющие данные, из-за чего программа отправляла не то, что намеревалась отправить. Дальнейшее поведение зависит от принимающей стороны и прав соединения; нельзя по одному этому CVE заключить, что сервер уже захвачен.

Затронутые версии

Затронуты curl/libcurl 7.7–7.88.1 при использовании TELNET и передаче имени пользователя или telnet options, содержащих специально сформированные данные. TELNET — протокол удалённого терминального общения. Особенно важен сценарий, в котором приложение принимает такие значения от пользователя и передаёт их библиотеке без собственной проверки. Поддержка TELNET в сборке сама по себе не доказывает использование уязвимого пути.

Исправленные версии

Первое исправление — curl/libcurl 8.0.0: ограничен приём аргументов ASCII-символами. Устанавливайте поддерживаемую исправленную сборку. Поставщик ОС может перенести исправление в старую ветку, сохранив её номер; сверяйте бюллетень по этому CVE.

Что сделать

  1. 1Найдите приложения и задания с TELNET и уточните версию используемой ими libcurl. Определите, поступают ли имя и параметры из формы, API или другого недоверенного источника.
  2. 2Попросите разработчика проверить передачу имени пользователя и TELNET options, включая проверку допустимых символов. Не проверяйте ошибку управляющими последовательностями на рабочем оборудовании.
  3. 3Сохраните конфигурацию соединений и подготовьте отдельный тестовый стенд с вымышленными данными. Проверьте, что после обновления штатные значения работают, а недопустимые отвергаются.
  4. 4Обновите curl/libcurl до поддерживаемого пакета с исправлением. Если библиотека включена в приложение, обновите или пересоберите приложение и согласуйте его перезапуск.
  5. 5До обновления проект рекомендует собственную фильтрацию имени и TELNET options. Реализуйте согласованный разрешённый набор значений на границе ввода; при невозможности проверки временно отключите ввод этих параметров пользователем. Это ограничение не заменяет исправление библиотеки.
  6. 6Проверьте журналы штатных соединений и работу оборудования после обновления. Для отката храните конфигурацию и проверенную сборку; если вернулась уязвимая версия, не возобновляйте недоверенный ввод до восстановления защиты.

Граница между текстовым параметром и управлением протоколом

Статичная текстовая последовательность показывает механизм без опасных байтов. Движение и цвет не используются; клавиатурного управления и специальной версии reduced motion не требуется.

  1. 1Пользователь задаёт имя или параметры TELNET.
  2. 2Приложение передаёт их уязвимой libcurl без проверки.
  3. 3Специальные байты попадают в служебное согласование.
  4. 4Сервер получает управление, которого приложение не намеревалось отправлять.
  5. 5Исправление ограничивает приём аргументов; приложение также проверяет ввод.

Примеры конфигурации и проверки

Посмотреть наличие TELNET в локальной сборке (shell)
curl -q --version

Запускайте обычным пользователем в терминале Linux/macOS внутри нужного окружения с установленным curl. В выводе ожидаются версии и строка Protocols; telnet означает поддержку в этом исполняемом файле. Команда не выполняет сетевой запрос, не меняет файлы, откат не нужен. Она не показывает, принимает ли приложение недоверенные параметры, не проверяет встроенную в него libcurl и не выявляет backport-патчи.

Как не подпустить ботов к сайту

BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.

Первоисточники

Снизьте шанс атаки до того, как бот дойдёт до сайта

Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.