CVE-2017-17405: Net::FTP 命令注入安全性風險

Ruby 內建的 Net::FTP 存在一個命令注入風險。此風險的 CVE 識別號為 CVE-2017-17405

細節

Net::FTP#getgetbinaryfilegettextfileputputbinaryfileputtextfile 使用 Kernel#open 來打開本地檔案。如果 localfile 命令以 pipeline 字符 "|" 開始,此後的字符會以命令被執行。localfile 的預設值是 File.basename(remotefile),那麼惡意 FTP 伺服器可能引發任意代碼的執行。

所有正在運行受影響版本的用戶應立即升級。

受影響版本

  • Ruby 2.2 系列: 2.2.8 及之前版本
  • Ruby 2.3 系列: 2.3.5 及之前版本
  • Ruby 2.4 系列: 2.4.2 及之前版本
  • Ruby 2.5 系列: 2.5.0-preview1
  • trunk revision 早於 r61242 的全部版本

致謝

感謝 Heroku 產品安全團隊的 Etienne Stalmans 回報了這一問題。

歷史

  • 於 2017-12-14 16:00:00 (UTC) 首次發佈