- PVSM.RU - https://www.pvsm.ru -

CVE-2019-6111 и другие уязвимости в scp

TL;DR;

Совсем недавно ( примерно с 1983 года ) оказалось, что OpenSSH, как наследник rsh, для команды scp ( ex. rcp ) позволяет серверу выбрать, какой файл и с какими параметрами вам передать. А уязвимости вывода позволяют скрыть, какой именно файл вам передали.
То есть просите вы file.txt, а получаете — exploit.bin
И фиксов пока нет, вот такие дела. Используйте sftp или rsync.

Подробности

CVE-2019-6109

Клиент scp не проверяет наличие лишних символов в имени файла, что позволяет скрывать реальное имя передаваемого файла ( например ASCII-кодами )

CVE-2019-6110

Клиент scp позволяет писать в stderr и переписывать данные в терминале, что позволяет скрывать реальное имя передаваемого файла ( например ASCII-кодами ).

CVE-2019-6111

Клиент scp не проверяет, какой именно файл ему отправляют и не сравнивает с тем, что он запрашивал. Злонамеренный сервер может залить на клиент все, что ему хочется, причем с любым mode.

Пример работы

$ rm -rf *
$ ls -la
итого 36
drwxr-xr-x 2 user user 4096 янв 25 15:11 .
drwx------ 99 user user 28672 янв 25 14:23 ..
$ scp test@localhost:x.txt .
x.txt 100% 32 0.3KB/s 00:00
$ ./exploit.sh # откуда он взялся?!
You're hacked. Sorry for that
Please upgrade your OpenSSH client
$

В данном примере ( немного модифицированный эксплоит со ссылки выше ) вместе с x.txt подгружается файл exploit.sh с правами 755, а при помощи мусора в stderr затирается сам факт передачи.

Уязвимые клиенты

Если кратко, то все. OpenSSH включая 7.9p1, putty, winscp < 5.13.
Фиксы есть только у WinSCP ( 5.14+ )
Используйте sftp/rsync при работе с недоверенными серверами.

Автор: annmuor

Источник [3]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/306509

Ссылки в тексте:

[1] sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt: https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt

[2] gist.github.com/mehaase/63e45c17bdbbd59e8e68d02ec58f4ca2: https://gist.github.com/mehaase/63e45c17bdbbd59e8e68d02ec58f4ca2

[3] Источник: https://habr.com/ru/post/437508/?utm_campaign=437508