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

Posted by mame on 1 Oct 2019

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) 初版

最近のニュース

Ruby 4.0.0 リリース

Ruby 4.0.0 が公開されました。 Ruby 4.0 には “Ruby Box”、”ZJIT” ほか多数の改善が含まれています。

Posted by naruse on 25 Dec 2025

サイトのアイデンティティの再設計

サイトの包括的なデザインのアップデートを発表できることを嬉しく思います。今回の更新ではTaeko Akatsukaさんにデザインを担当していただきました。

Posted by Hiroshi SHIBATA on 22 Dec 2025

Ruby 4.0.0 preview2 リリース

Ruby 4.0.0-preview2 が公開されました。Ruby 4.0では、Unicodeバージョンの17.0.0へのアップデートなど様々な改善が行われています。

Posted by naruse on 17 Nov 2025

もっと読む...