由 nagachika 发布于 2017 年 12 月 14 日
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
- trunk 修订版 r61242 之前
鸣谢
感谢 Heroku 产品安全团队的 Etienne Stalmans 报告此问题。
历史记录
- 最初发布于 2017-12-14 16:00:00 (UTC)