CVE-2019-15845: File.fnmatch の NUL 文字挿入脆弱性

File.fnmatch および File.fnmatch? に NUL 文字挿入脆弱性が発見されました。パターン引数を制御できる攻撃者は、この脆弱性によってプログラム作者の意図しないパス名マッチを起こせる可能性があります。 この脆弱性は CVE-2019-15845 として登録されています。

詳細

組み込みメソッド File.fnmatch およびその別名である File.fnmatch? では、第 1 引数でパス名のパターンを指定します。この際、指定されたパターン中に NUL 文字(\0)が含まれていた場合、NUL 文字直前でパターンが完結しているとみなしていました。このため、外部からの入力を File.fnmatch に第 1 引数として与えていた場合、第 2 引数に指定されたパス名に意図せずマッチしうる可能性がありました。

この問題の影響を受けるバージョンの Ruby ユーザは、速やかに問題の修正されたバージョンに更新してください。

影響を受けるバージョン

  • Ruby 2.3 以前のすべてのリリース
  • Ruby 2.4.7 以前のすべての Ruby 2.4 系列
  • Ruby 2.5.6 以前のすべての Ruby 2.5 系列
  • Ruby 2.6.4 以前のすべての Ruby 2.6 系列
  • Ruby 2.7.0-preview1
  • commit a0a2640b398cffd351f87d3f6243103add66575b より前の開発版

クレジット

この脆弱性情報は、ooooooo_q 氏によって報告されました。

更新履歴

  • 2019-10-01 20:00:00 (JST) 初版