CVE-2018-6914:在 tempfile 和 tmpdir 中由于目录遍历导致意外的文件和目录创建

Ruby 捆绑的 tmpdir 库中存在一个意外的目录创建漏洞。Ruby 捆绑的 tempfile 库中也存在一个意外的文件创建漏洞,因为它在内部使用了 tmpdir。此漏洞已被分配 CVE 标识符 CVE-2018-6914

详情

tmpdir 库引入的 Dir.mktmpdir 方法接受要创建的目录的前缀和后缀作为第一个参数。前缀可以包含相对目录说明符 "../",因此可以使用此方法来定位任何目录。因此,如果脚本接受外部输入作为前缀,并且目标目录具有不适当的权限或 ruby 进程具有不适当的特权,则攻击者可以在任何目录中创建目录或文件。

所有运行受影响版本的用户都应立即升级。

受影响的版本

  • Ruby 2.2 系列:2.2.9 及更早版本
  • Ruby 2.3 系列:2.3.6 及更早版本
  • Ruby 2.4 系列:2.4.3 及更早版本
  • Ruby 2.5 系列:2.5.0 及更早版本
  • Ruby 2.6 系列:2.6.0-preview1
  • trunk 修订版 r62990 之前

鸣谢

感谢 ooooooo_q 报告此问题。

历史

  • 最初发布于 2018-03-28 14:00:00 (UTC)