Все реализации SCP подвержены уязвимостям 36-летней давности
Проблемы затрагивают OpenSSH, Putty и WinSCP.
Все реализации протокола SCP (Secure Copy Protocol), выпущенные за последние 36 лет, содержат ряд уязвимостей, позволяющих вредоносному SCP-серверу внести несанкционированные изменения на целевой системе и скрыть вредоносные операции на терминале. 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 (при возможности).