CVE-2018-8780: Dir 中污染的 NUL 字节可触发意外目录穿越

usa 发表于 2018-03-28
翻译: Delton Ding

Dir 中的一些方法存在意外目录穿越的问题。此缺陷已被分配 CVE 标识符 CVE-2018-8780

细节

Dir.open, Dir.new, Dir.entries and Dir.empty? 接受目标目录作为它们的参数。当参数中包含 NUL (\0) 字节时,这些方法会在 NUL 字节前停止解析路径。因此,当使用这些方法时接受外部输入时,攻击者可以利用此缺陷发动意外目录穿越。

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

受影响版本

  • 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
  • SVN trunk 早于 r62989 的所有版本

鸣谢

感谢 ooooooo_q 报告了此问题。

历史

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

最新消息

全新的 Ruby 文档界面

继 重新设计 ruby-lang.org之后, 我们还有更多消息来庆祝 Ruby 诞生 30 周年:docs.ruby-lang.org 采用了全新的、RDoc 的 Aliki 默认主题。

Stan Lo 发表于 2025-12-23

重新设计我们的网站标识

我们激动地宣布网站已经全面改版。此次更新的设计方案由 Taeko Akatsuka (赤塚妙子) 创作。

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

更多新闻...