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

mame 发布于 2021年4月5日

Ruby 在 Windows 上的 tmpdir 库中存在一个非预期的目录创建漏洞。由于其内部使用 tmpdir,Ruby 在 Windows 上的 tempfile 库也存在一个非预期的文件创建漏洞。该漏洞已分配 CVE 标识符 CVE-2021-28966

详情

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

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

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

受影响的版本

  • Ruby 2.7.2 及更早版本
  • Ruby 3.0.0

致谢

感谢 Bugdiscloseguys 发现此问题。

历史

  • 首次发布于 2021-04-05 12:00:00 (UTC)

近期新闻

Ruby 4.0.0 发布

我们很高兴地宣布 Ruby 4.0.0 的发布。Ruby 4.0 引入了“Ruby Box”和“ZJIT”,并增加了许多改进。

naruse 发布于 2025 年 12 月 25 日

Ruby 文档的全新外观

继 ruby-lang.org 重新设计之后,我们还有更多好消息来庆祝 Ruby 成立 30 周年:docs.ruby-lang.org 采用了 Aliki——RDoc 的新默认主题,焕然一新。

Stan Lo 发布于 2025 年 12 月 23 日

重新设计我们的网站标识

我们很高兴地宣布对我们的网站进行全面重新设计。此次更新的设计由 Akatsuka Taeko 创作。

Hiroshi SHIBATA 发布于 2025 年 12 月 22 日

Ruby 4.0.0 preview3 发布

我们很高兴地宣布 Ruby 4.0.0-preview3 的发布。Ruby 4.0 引入了 Ruby::Box 和“ZJIT”,并增加了许多改进。

naruse 发布于 2025 年 12 月 18 日

更多新闻...