CVE-2017-0898: Kernel.sprintf におけるバッファーアンダーランについて

Kernel モジュールの sprintf メソッドにおいて、特殊なフォーマット文字列を指定した場合に、バッファーアンダーランが発生し、状況によってはヒープの中身が外部から閲覧可能となりうるという脆弱性が発見されました。 この脆弱性は、CVE-2017-0898 として登録されています。

詳細

Kernel モジュールの sprintf メソッドにおいて、特殊なフォーマット文字列を引数とし、そのフォーマット文字列中に精度指定子 (*) が含まれ、さらにその精度指定子に対して巨大な負数を引数として与えた場合に、バッファーアンダーランが発生していました。 この時、ヒープの中身が sprintf の結果として出力されたり、また Ruby インタプリタがクラッシュしたりする場合がありました。

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

影響を受けるバージョン

  • Ruby 2.2.7 以前の全ての Ruby 2.2 系列
  • Ruby 2.3.4 以前の全ての Ruby 2.3 系列
  • Ruby 2.4.1 以前の全ての Ruby 2.4 系列
  • revision 58453 より前の開発版

クレジット

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

更新履歴

  • 2017-09-14 21:00:00 (JST) 初版