SCP представляет собой сетевой протокол, реализующий передачу файлов между двумя сетевыми устройствами по защищенному каналу SSH. SCP основан на протоколе RCP (Remote Copy), работающем поверх SSH. Поддержка SCP встроена в большое число приложений, включая OpenSSH, PuTTY и WinSCP.
Проблемы были обнаружены специалистом компании F-Secure Харри Синтоненом (Harry Sintonen) в августе прошлого года. В общей сложности речь идет о четырех уязвимостях:
CVE-2018-20685 – SCP-клиент разрешает удаленному SCP-серверу модифицировать разрешения целевой папки;
CVE-2019-6111 – вредоносный SCP-сервер может перезаписать файлы в целевой папке. При выполнении рекурсивной процедуры (-r) сервер также может производить манипуляции с подпапками (к примеру, перезаписать .ssh/authorized_keys);
CVE-2019-6109 и CVE-2019-6110 – выходные данные клиентского терминала могут быть модифицированы через код ANSI для сокрытия последующих операций.
Корень проблем связан с оригинальной реализацией BSD в протоколе RCP, это значит, что они в разной степени затрагивают все реализации SCP за прошедшие 36 лет. Синтонен порекоммендовал применить все доступные патчи для OpenSSH, PuTTY и WinSCP. На данный момент уязвимости устранены только в клиенте WinSCP (WinSCP 5.14). Если по каким-то причинам установка патчей невозможна, пользователям рекомендуется сконфигурировать SCP-клиенты на обмен данными через протокол SFTP (при возможности).