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 4.0.3 發布
Ruby 4.0.3 已經發布了。本次發布只包含修復 CVE-2026-41316 的 ERB 6.0.1.1。
由 k0kubun 發表於 2026-04-21
Ruby 3.2.11 發布
Ruby 3.2.11 已經發布了。 本次發布包含 針對 CVE-2026-27820 的 zlib gem 更新。
由 hsbt 發表於 2026-03-27
Ruby 3.3.11 發布
Ruby 3.3.11 已經發布了。 本次發布包含 解決 zlib gem CVE-2026-27820 的更新,以及其他錯誤修復。
由 hsbt 發表於 2026-03-26
Ruby 4.0.2 發布
Ruby 4.0.2 已經發布了。
由 k0kubun 發表於 2026-03-16