CVE-2019-15845: File.fnmatch 和 File.fnmatch? 中的 NUL 注入漏洞

mame 发布于 2019 年 10 月 1 日

Ruby 内置方法(File.fnmatchFile.fnmatch?)存在 NUL 注入漏洞。攻击者控制路径模式参数可以利用此漏洞绕过程序作者的意图使路径匹配通过。此漏洞已被分配 CVE 标识符 CVE-2019-15845

详情

内置方法 File.fnmatch 及其别名 File.fnmatch? 将路径模式作为第一个参数。当模式包含 NUL 字符 (\0) 时,这些方法会识别路径模式在 NUL 字节之前结束。因此,对于使用外部输入作为模式参数的脚本,攻击者可以使其错误地匹配第二个参数作为文件名的路径名。

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

受影响的版本

  • Ruby 2.3或更早的所有版本
  • Ruby 2.4系列:Ruby 2.4.7或更早版本
  • Ruby 2.5系列:Ruby 2.5.6或更早版本
  • Ruby 2.6系列:Ruby 2.6.4或更早版本
  • Ruby 2.7.0-preview1
  • 在 master commit a0a2640b398cffd351f87d3f6243103add66575b 之前

致谢

感谢 ooooooo_q 发现此问题。

历史

  • 最初发布于 2019-10-01 11: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 日

更多新闻...