CVE-2021-28966:Windows 上 Tempfile 中的路径遍历漏洞

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

详情

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

这与 CVE-2018-6914 的问题相同,但之前的修复在 Windows 上不完整。

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

受影响的版本

  • Ruby 2.7.2 或更早版本
  • Ruby 3.0.0

鸣谢

感谢 Bugdiscloseguys 发现此问题。

历史记录

  • 最初发布于 2021-04-05 12:00:00 (UTC)