Es muy común que usemos open-uri
si queremos descargar un fichero remoto, pero si lo usas para descargar un fichero que introduce un usuario puede que tengas un agujero de seguridad.
open-uri
usa por debajo Kernel#open
el cual puede ejecutar código malicioso.
Por ejemplo para Kernel#open
esto | ls
sería una url válida al igual que | rm -rf ~
.
Puedes probarlo con un comando no dañino:
open("| ls -lah").read
Janko Marohnić lo explica con más detalle en su blog y nos propone su gema down.