CVE-2017-17405: Net::FTP 存在命令注入缺陷
由 nagachika 发表于 2017-12-14
翻译: Delton Ding
Ruby 内置的 Net::FTP 存在一个命令注入缺陷。此缺陷的 CVE 识别号为 CVE-2017-17405。
细节
Net::FTP#get、getbinaryfile、gettextfile、put、putbinaryfile 和 puttextfile 使用 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) 首次发布
最新消息
Ruby 4.0.0 preview2 已发布
我们很高兴地宣布 Ruby 4.0.0-preview2 已发布。Ruby 4.0 更新 Unicode 版本至 17.0.0,还有一些其他变更。
由 naruse 发表于 2025-11-17
Ruby 3.3.10 已发布
Ruby 3.3.10 已发布。
由 nagachika 发表于 2025-10-23
移交 RubyGems 仓库的所有权
亲爱的 Ruby 社区,
由 matz 发表于 2025-10-17
Ruby 3.4.7 已发布
Ruby 3.4.7 已发布。
由 k0kubun 发表于 2025-10-07