CVE-2019-15845:File.fnmatch 及 File.fnmatch? 存在 NUL 字元注入風險
由 mame 發表於 2019-10-01
翻譯: JuanitoFatas
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.3.12 發布
Ruby 3.3.12 已經發布了。
由 hsbt 發表於 2026-07-16
Ruby 4.0.6 發布
Ruby 4.0.6 已經發布了。
由 k0kubun 發表於 2026-07-14
Ruby 3.4.10 發布
Ruby 3.4.10 已經發布了。
由 nagachika 發表於 2026-06-30
Ruby 4.0.5 發布
Ruby 4.0.5 已經發布了。
由 k0kubun 發表於 2026-05-20