CVE-2017-17405: Net::FTP 存在命令注入缺陷

Ruby 内置的 Net::FTP 存在一个命令注入缺陷。此缺陷的 CVE 识别号为 CVE-2017-17405

细节

Net::FTP#getgetbinaryfilegettextfileputputbinaryfileputtextfile 使用 Kernel#open 来打开本地文件。如果 localfile 命令以管道字符 "|" 开始,此后的字符会以命令被执行。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
  • SVN 版本号早于 r61242 的全部版本

致谢

感谢 Heroku 产品安全团队的 Etienne Stalmans 报告了这一问题。

历史

  • 于 2017-12-14 16:00:00 (UTC) 首次发布