由 mame 发布于 2019 年 10 月 1 日
发现 Ruby 内建方法(File.fnmatch
和 File.fnmatch?
)存在 NUL 注入漏洞。攻击者如果控制了路径模式参数,就可以利用此漏洞,使得路径匹配通过,尽管程序作者的意图并非如此。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)