Опасности использования open-uri
Но на деле require "open-uri" патчит Kernel.open и вызывает разный код для разных аргументов, что может привести к удаленному выполнению кода или чтению любого файла на сервере!
open(params[:url]) это выполнение кода для url=|ls Все что начинается с | рассматривается как системный вызов.
open(params[:url]) if params[:url] =~ /^http:// не лучше для url=|touch n; http://url.com (сломанные регулярки могут привести к RCE, используйте Az).
Читать дальше →
Источник: Хабрахабр