CVE-2018-6914: tempfile 和 tmpdir 中目录遍历导致意外创建文件和目录
由 usa 于 2018 年 3 月 28 日发布
Ruby 附带的 tmpdir 库存在意外的目录创建漏洞。由于 tempfile 库内部使用 tmpdir,因此也存在意外的文件创建漏洞。此漏洞已分配 CVE 标识符 CVE-2018-6914。
详情
Dir.mktmpdir 方法在 tmpdir 库中引入,接受创建目录时使用的前缀和后缀作为第一个参数。前缀可以包含相对目录指示符 "../",因此该方法可用于定位任何目录。因此,如果一个脚本接受外部输入作为前缀,并且目标目录具有不当的权限,或者 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)
近期新闻
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 日