TL; DR;
Baru-baru ini (sejak sekitar 1983), ternyata OpenSSH, sebagai penerus rsh, untuk perintah scp (mis. Rcp) memungkinkan
server untuk memilih file mana dan dengan parameter apa yang ditransfer kepada Anda. Dan kerentanan keluaran memungkinkan Anda untuk menyembunyikan file mana yang ditransfer kepada Anda.
Artinya, Anda bertanya file.txt, tetapi Anda mendapatkan - exploit.bin
Dan belum ada perbaikan, inilah masalahnya. Gunakan sftp atau rsync.
Detail
CVE-2019-6109
Klien scp tidak memeriksa karakter tambahan dalam nama file, yang memungkinkan Anda untuk menyembunyikan nama asli file yang ditransmisikan (misalnya, kode ASCII)
CVE-2019-6110
Klien scp memungkinkan Anda untuk menulis ke stderr dan menulis ulang data di terminal, yang memungkinkan Anda untuk menyembunyikan nama asli file yang ditransmisikan (misalnya, kode ASCII).
CVE-2019-6111
Klien scp tidak memeriksa file mana yang sedang dikirim dan tidak membandingkannya dengan apa yang diminta. Server jahat dapat mengisi klien dengan semua yang dia inginkan, dan dengan mode apa pun.
Contoh kerja
$ 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 $
Dalam contoh ini (exploit yang sedikit dimodifikasi dari tautan di atas), file exploit.sh dengan izin 755 dimuat dengan x.txt, dan dengan bantuan sampah, fakta transfer itu sendiri terhapus.
Klien Rentan
Singkatnya, itu saja. OpenSSH termasuk 7.9p1, dempul, winscp <5.13.
Hanya WinSCP yang memiliki perbaikan (5.14+)
Gunakan sftp / rsync saat bekerja dengan server yang tidak terpercaya.