CVE-2023-27534
curl SFTP: знак тильды мог привести к выбору другого каталога
Проверьте curl/libcurl 7.18.0–7.88.1, если программа принимает SFTP-пути с тильдой от пользователя. Ошибка преобразования пути могла направить операцию в неожиданный каталог; исправление появилось в 8.0.0.
Кому нужно проверить
Владельцам файловых обменников, выгрузок и резервного копирования через SFTP, особенно если пользователь может выбрать удалённый путь. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
Тильда — знак ~, который curl использует как сокращение домашнего каталога пользователя. Уязвимая версия могла подставить домашний каталог туда, где тильда была лишь частью имени. Проверка пути в приложении и реальное место операции могли разойтись. Права учётной записи на SFTP-сервере по-прежнему ограничивают доступ: ошибка клиента сама по себе их не отменяет. Advisory curl подтверждает неожиданный путь и возможность обхода фильтра; дополнительные последствия зависят от приложения.
Затронутые версии
Затронуты curl/libcurl 7.18.0–7.88.1 при передаче файлов по SFTP и использовании тильды в первом элементе пути. SFTP — передача файлов через SSH. Специальное сокращение для домашнего каталога ошибочно распознавалось также как начало более длинного элемента. Важны поступление пути от недоверенного источника и правила приложения, проверяющие этот путь.
Исправленные версии
Исправлено в curl/libcurl 8.0.0. Для эксплуатации выбирайте поддерживаемую исправленную сборку. Поставщик ОС может перенести патч в старую ветку без смены основного номера версии; сверяйте статус именно этого CVE.
Что сделать
- 1Найдите программы и задания с SFTP и уточните версию их libcurl. Проверьте, кто задаёт путь: администратор, пользователь формы или внешний источник.
- 2Изучите правила работы с тильдой и допустимыми каталогами в коде приложения. Для проверки используйте только собственное тестовое хранилище с вымышленными файлами; не пытайтесь читать соседние каталоги в рабочей системе.
- 3Сохраните настройки и резервную копию изменяемых файлов. Проверьте новую сборку на отдельной копии системы: обычные разрешённые пути должны работать, запрещённые — отклоняться.
- 4Установите поддерживаемый пакет с исправлением CVE-2023-27534; пересоберите приложение, если оно содержит собственную libcurl. После обновления перезапустите использующие библиотеку процессы по инструкции поставщика.
- 5До обновления проект рекомендует избегать тильды в SFTP URL. Для собственных заданий задайте согласованные явные пути; если пути вводят пользователи, временно запретите такую возможность или тильду после проверки совместимости. Это не заменяет исправление и не решает все ошибки проверки путей.
- 6Проверьте журналы передач и фактическое расположение тестовых файлов. Храните прежнюю конфигурацию для отката, но при возврате старой сборки сохраняйте временный запрет опасного сценария.
Почему проверенный текст пути и итоговый каталог могли различаться
Последовательность показана статичным текстом, без воспроизведения опасного пути. Цвет и движение не нужны; настройка reduced motion ничего не меняет.
- 1Приложение получает удалённый путь.
- 2Оно проверяет допустимость введённого текста.
- 3Уязвимая libcurl неправильно раскрывает тильду.
- 4Операция направляется в неожиданный каталог в пределах доступных прав.
- 5Исправленная библиотека распознаёт сокращение по правильным правилам.
Примеры конфигурации и проверки
curl -q --versionОболочка Linux/macOS с установленным curl; запускайте обычным пользователем внутри проверяемого окружения. В выводе ожидаются версии curl/libcurl и список Protocols: наличие sftp означает поддержку протокола в этом CLI. Команда не подключается к серверу и не меняет файлы, откат не нужен. Она не подтверждает версию встроенной библиотеки другого приложения и наличие backport; это проверяют отдельно по его сборке и бюллетеню поставщика.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.