CVE-2018-6914: Tempfile 與 Tmpdir 肆意建立檔案與目錄

Ruby 內建的 tmpdir 函式庫存在非預期的目錄建立風險。Ruby 內建的 tmpfile 函式庫內部用了 tmpdir,因此也存在檔案建立存在安全性風險。

此風險的 CVE 識別號為 CVE-2018-6914

細節

tmpdir 函式庫的 Dir.mktmpdir 方法第一個參數接受目錄的前綴與後綴。前綴可包含任何相對目錄 "../",所以此方法可以在任何地方建立目錄。若腳本接受外來參數作為前綴,目標路徑或 ruby 進程的權限不夠安全,則攻擊者可以在任何目錄下建立檔案或目錄。

所有使用受影響版本的使用者應立即升級。

受影響版本

  • Ruby 2.2 系列: 2.2.9 以及之前的版本
  • Ruby 2.3 系列: 2.3.6 以及之前的版本
  • Ruby 2.4 系列: 2.4.3 以及之前的版本
  • Ruby 2.5 系列: 2.5.0 以及之前的版本
  • Ruby 2.6 系列: 2.6.0-preview1
  • trunk revision r62990 之前的版本

致謝

感謝 ooooooo_q 回報此問題。

歷史

  • 初次發佈於 2018-03-28 14:00:00 (UTC)