CVE-2019-6111 e outras vulnerabilidades do scp

TL; DR;


Mais recentemente (desde 1983), o OpenSSH, como sucessor do rsh, para o comando scp (ex. Rcp) permite ao servidor escolher qual arquivo e com quais parâmetros transferir para você. E as vulnerabilidades de saída permitem ocultar qual arquivo foi transferido para você.
Ou seja, você pergunta ao arquivo.txt, mas obtém - exploit.bin
E ainda não há correções, essas são as coisas. Use sftp ou rsync.

Detalhes



CVE-2019-6109


O cliente scp não verifica caracteres extras no nome do arquivo, o que permite ocultar o nome real do arquivo transmitido (por exemplo, códigos ASCII)

CVE-2019-6110


O cliente scp permite gravar no stderr e reescrever dados no terminal, o que permite ocultar o nome real do arquivo transmitido (por exemplo, códigos ASCII).

CVE-2019-6111


O cliente scp não verifica qual arquivo está sendo enviado para ele e não o compara com o que solicitou. Um servidor malicioso pode preencher o cliente com tudo o que ele deseja e com qualquer modo.

Exemplo de trabalho


$ 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 $ 

Neste exemplo (uma exploração ligeiramente modificada no link acima), o arquivo exploit.sh com permissões 755 é carregado com x.txt e, com a ajuda do lixo, o próprio fato da transferência é apagado.

Clientes vulneráveis


Em suma, isso é tudo. OpenSSH incluindo 7.9p1, putty, winscp <5.13.
Somente o WinSCP possui correções (5.14+)
Use sftp / rsync ao trabalhar com servidores não confiáveis.

Source: https://habr.com/ru/post/pt437508/


All Articles