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 3.2.11 已发布
Ruby 3.2.11 已发布。 此版本包括了 处理 CVE-2026-27820 的 zlib gem 更新。
由 hsbt 发表于 2026-03-27
Ruby 3.3.11 已发布
Ruby 3.3.11 已发布。此版本包括了 处理 CVE-2026-27820 的 zlib gem 更新,以及一些其他问题补丁。
由 hsbt 发表于 2026-03-26
Ruby 4.0.2 已发布
Ruby 4.0.2 已发布。
由 k0kubun 发表于 2026-03-16
Ruby 3.4.9 已发布
Ruby 3.4.9 已发布。
由 nagachika 发表于 2026-03-11