CVE-2019-15845:File.fnmatch 及 File.fnmatch? 存在 NUL 字元注入風險

Ruby 內建的 File.fnmatchFile.fnmatch? 存在 NUL 字元注入風險。能控制 path 模式參數的攻擊者可利用此風險來繞過路徑匹配。此風險的識別號為 CVE-2019-15845

細節

Ruby 內建的 File.fnmatchFile.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)