CVE-2019-16255:Shell#[] 和 Shell#test 存在代码注入漏洞

标准库 (lib/shell.rb) 的 Shell#[]Shell#test 存在代码注入漏洞。此缺陷的编号是 CVE-2019-16255

细节

lib/shell.rb 定义的 Shell#[] 以及其别名方法 Shell#test 的第一个参数(”command” 参数)是允许来自不可信任数据的代码注入。攻击者可以利用此参数执行任意的 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)