Уязвимости в реализациях SCP из OpenSSH, PuTTY и WinSCP
15 января 2019 года
В реализациях утилиты SCP от проектов OpenSSH, PuTTY и WinSCP выявлены четыре уязвимости, позволяющие на стороне клиента манипулировать выводом информации в терминал, организовать запись произвольных файлов в целевой каталог или изменить права доступа на каталог при обращении к серверу, подконтрольному злоумышленнику.
- CVE-2019-6111 - возможность перезаписать произвольные файлы в целевом каталоге на стороне клиента. В SCP как и в RCP сервер принимает решение о том, какие файлы и каталоги отправить клиенту, а клиент лишь проверяет корректность возвращённых имён объектов. Проверка на стороне клиента ограничена лишь блокированием выхода за границы текущего каталога ("../"), но не учитывает передачу файлов с именами, отличающимися от изначально запрошенных. В случае рекурсивного копирования (-r) кроме имён файлов подобным способом можно манипулировать и именами подкаталогов. Например, в случае копирования пользователем в домашний каталог файлов, подконтрольный атакующим сервер может выдать вместо запрошенных файлов файлы с именами .bash_aliases или .ssh/authorized_keys, и они будут сохранены утилитой scp в домашнем каталоге пользователя;
- CVE-2018-20685 - возможность изменения прав доступа на целевой каталог при отдаче сервером каталога с пустыми именем или точкой. При получении от сервера команды "D0777 0 \n" или "D0777 0 .\n" клиент применит изменение прав доступа к текущему каталогу;
- CVE-2019-6109, CVE-2019-6110 - возможность искажения вывода в терминал через подстановку управляющих ASCII символов в передаваемые строковые данные и отображаемый на стороне клиента поток STDERR. Уязвимость может применяться для скрытия сведений о загрузке незапрошенных файлов.
Проблемы проявляются во всех версиях OpenSSH (включая 7.9), PuTTY и WinSCP (включая 5.13). Для OpenSSH предложено исправление в виде патча. Пакет Tectia SSH scpg3 проблемам не подвержен, так как базируется только на использовании SFTP и не поддерживает протокол SCP. В качестве обходного варианта защиты рекомендуется использовать sftp вместо scp. В дистрибутивах проблема пока остаётся неисправленной (
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.