Уязвимости в реализациях SCP из OpenSSH, PuTTY и WinSCP

В реализациях утилиты 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. В дистрибутивах проблема пока остаётся неисправленной (Debian, Ubuntu, Arch, RHEL, SUSE).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.