CVE-2023-36617: URI における ReDoS 脆弱性について

ReDoS 脆弱性のセキュリティ修正を含む、uri gem 0.12.2、0.10.3 をリリースしました。 この脆弱性は、CVE-2023-36617 として登録されています。

詳細

0.12.1 までのバージョンの URI コンポーネントに ReDoS 脆弱性が見つかりました。特定の文字を含む無効な URL を URI パーサーが誤って取り扱っていました。rfc2396_parser.rb と rfc3986_parser.rb を用いて文字列を URI オブジェクトにパースする際に実行時間が増加していました。

注意: CVE-2023-28755 に対する不完全な修正がこの問題の原因でした。

0.12.1 およびそれ以前の全てのバージョンの uri gem はこの脆弱性の影響を受けます。

推奨する対応

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

  • Ruby 3.0: uri を 0.10.3 にアップデート
  • Ruby 3.1: uri を 0.12.2 にアップデート
  • Ruby 3.2: uri を 0.12.2 にアップデート、もしくは Ruby 3.2.3 以降にアップデート

gem update uri でアップデートできます。もし bundler を使っている場合は、Gemfilegem "uri", ">= 0.12.2" (または上記の他のバージョン)を追加してください。

影響を受けるバージョン

  • uri gem 0.12.1 およびそれ以前のバージョン

クレジット

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

この脆弱性は、nobu 氏によって修正されました。

更新履歴

  • 2024-01-18 19:00:00 (JST) Ruby 3.2 での対応を追加
  • 2023-06-29 10:00:00 (JST) 初版