CVE-2019-15845:File.fnmatch 及 File.fnmatch? 存在 NUL 字节注入缺陷
由 mame 发表于 2019-10-01
翻译: Delton Ding
Ruby 内置的 File.fnmatch 及 File.fnmatch? 存在 NUL 字节注入缺陷。能控制 path 模式参数的攻击者可利用此缺陷来绕过路径匹配。此缺陷的编号是 CVE-2019-15845。
细节
Ruby 内置的 File.fnmatch 及 File.fnmatch? 第一个参数是 path 模式参数。当此参数含有 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
- 早于 ruby master commit a0a2640b398cffd351f87d3f6243103add66575b 的全部版本
致谢
感谢 ooooooo_q 发现此问题。
历史
- 最早发布于 2019-10-01 11:00:00 (UTC)
最新消息
Ruby 3.2.10 已发布
Ruby 3.2.10 已发布。
由 hsbt 发表于 2026-01-14
Ruby 4.0.1 已发布
Ruby 4.0.1 已发布。
由 k0kubun 发表于 2026-01-13
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 采用了全新的、RDoc 的 Aliki 默认主题。
由 Stan Lo 发表于 2025-12-23