CVE-2019-6111 y otras vulnerabilidades scp

TL; DR;


Más recientemente (desde aproximadamente 1983), resultó que OpenSSH, como el sucesor de rsh, para el comando scp (ej. Rcp) permite al servidor elegir qué archivo y con qué parámetros transferirse. Y las vulnerabilidades de salida le permiten ocultar qué archivo se le transfirió.
Es decir, usted pregunta file.txt, pero obtiene - exploit.bin
Y todavía no hay soluciones, estas son las cosas. Use sftp o rsync.

Detalles



CVE-2019-6109


El cliente scp no busca caracteres adicionales en el nombre del archivo, lo que le permite ocultar el nombre real del archivo transmitido (por ejemplo, códigos ASCII)

CVE-2019-6110


El cliente scp le permite escribir en stderr y reescribir datos en el terminal, lo que le permite ocultar el nombre real del archivo transmitido (por ejemplo, códigos ASCII).

CVE-2019-6111


El cliente scp no verifica qué archivo se le envía y no lo compara con lo que solicitó. Un servidor malicioso puede llenar al cliente con todo lo que quiera y con cualquier modo.

Ejemplo de trabajo


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

En este ejemplo (un exploit ligeramente modificado desde el enlace anterior), el archivo exploit.sh con permisos de 755 se carga con x.txt, y con la ayuda de la basura, el hecho de transferencia se borra.

Clientes Vulnerables


En resumen, eso es todo. OpenSSH incluyendo 7.9p1, masilla, winscp <5.13.
Solo WinSCP tiene correcciones (5.14+)
Use sftp / rsync cuando trabaje con servidores no confiables.

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


All Articles