CVE-2024-27280: StringIOにおけるバッファーオーバーリード脆弱性

バッファーオーバーリード脆弱性のセキュリティ修正を含む StringIO gem 3.0.1.1 、 3.0.1.2 をリリースしました。 この脆弱性は、 CVE-2024-27280 として登録されています。

詳細

Ruby 3.0.6 以下の 3.0.x 系と3.1.4 以下の 3.1.x 系で配布されている StringIO 3.0.1 に問題が見つかりました。

StringIO のungetbyteungetc メソッドは文字列の終端を超えて読み込む可能性があり、その後に StringIO.gets を呼び出すとメモリの値を返します。

この脆弱性は StringIO 3.0.3 以降、 Ruby 3.2.x 以降のバージョンには影響ありません。

推奨する対応

StringIO gem を 3.0.3 以降にアップデートすることを推奨します。古い系列の Ruby で同梱されているバージョンとの互換性を確保するためには、以下のようにアップデートできます:

  • Ruby 3.0: stringio を 3.0.1.1 にアップデート
  • Ruby 3.1: stringio を 3.0.1.2 にアップデート

注意: StringIO 3.0.1.2 はこの脆弱性の他に [Bug #19389] のバグフィックスを含みます。

gem update stringio でアップデートできます。もし bundler を使っている場合は、 Gemfilegem "stringio", ">= 3.0.1.2" を追加してください。

影響を受けるバージョン

  • Ruby 3.0.6 及びそれ以前のバージョン
  • Ruby 3.1.4 及びそれ以前のバージョン
  • StringIO gem 3.0.1 及びそれ以前のバージョン

クレジット

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

更新履歴

  • 2024-04-11 21:50:00 (JST) 影響を受ける StringIO の バージョンを 3.0.2 から 3.0.1 に変更
  • 2024-03-21 13:00:00 (JST) 初版