CVE-2024-27281: RDoc 内の .rdoc_options におけるRCE 脆弱性

RCE 脆弱性に対するセキュリティ修正を含む RDoc gem 6.3.4.1、 6.4.1.1、 6.5.1.1 および 6.6.3.1 をリリースしました。 この脆弱性は、 CVE-2024-27281 として登録されています。

詳細

Ruby 3.3.0 以下の Ruby 3.x 系で配布されている.RDoc 6.3.3 から6.6.2 に問題が見つかりました。

RDoc の設定に使用される.rdoc_options ファイルを YAML 形式として解析する際に、復元可能なクラスに制限がないため、オブジェクトインジェクション及びそれに伴うリモートコード実行が可能です。

ドキュメントのキャッシュをロードする際に細工されたキャッシュがあった場合にも、オブジェクトインジェクション及びそれに伴うリモートコード実行が可能です。

推奨する対応

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

  • Ruby 3.0: rdoc を 6.3.4.1 にアップデート
  • Ruby 3.1: rdoc を 6.4.1.1 にアップデート
  • Ruby 3.2: rdoc を 6.5.1.1 にアップデート

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

注意: 6.3.4、 6.4.1、 6.5.1 及び 6.6.3 は不正な修正が含まれます。6.3.4.1、 6.4.1.1、 6.5.1.1 または 6.6.3.1 への修正を推奨します。

影響を受けるバージョン

  • Ruby 3.0.6 以前
  • Ruby 3.1.4 以前
  • Ruby 3.2.3 以前
  • Ruby 3.3.0
  • RDoc gem 6.3.3 以前、修正されたバージョン (6.3.4、 6.4.1、 6.5.1) を除く 6.4.0 から6.6.2

クレジット

この問題は ooooooo_q によって報告されました。

更新履歴

  • 2024-03-21 13:00:00 (JST) 初版