由 mame 于 2019 年 10 月 1 日发布
在标准库 (lib/shell.rb) 中发现了 Shell#[] 和 Shell#test 的代码注入漏洞。该漏洞已被分配 CVE 标识符 CVE-2019-16255。
详情
如果第一个参数(又名“命令”参数)是不受信任的数据,lib/shell.rb 中定义的 Shell#[] 及其别名 Shell#test 允许代码注入。攻击者可以利用这一点来调用任意 Ruby 方法。
请注意,通常情况下,将不受信任的数据传递给 Shell 的方法是危险的。用户绝不能这样做。但是,我们将此特定情况视为漏洞,因为 Shell#[] 和 Shell#test 的目的是文件测试。
所有运行受影响版本的用户都应立即升级。
受影响的版本
- 所有 Ruby 2.3 或更早版本
- Ruby 2.4 系列:Ruby 2.4.7 或更早版本
- Ruby 2.5 系列:Ruby 2.5.6 或更早版本
- Ruby 2.6 系列:Ruby 2.6.4 或更早版本
- Ruby 2.7.0-preview1
致谢
感谢 ooooooo_q 发现了这个问题。
历史
- 最初发布于 2019-10-01 11:00:00 (UTC)
- 在 2019-10-05 12:00:00 (UTC) 修复了拼写小问题