Ruby RDoc の RCE 脆弱性 CVE-2024-27281 が FIX:直ちにアップデートを!

CVE-2024-27281: Critical Vulnerability Patched in Popular Ruby Documentation Tool

2024/03/29 SecurityOnline — 人気の Ruby 文書生成ツールである、RDoc に存在する脆弱性 CVE-2024-27281 に対処する緊急のセキュリティ・パッチが、Ruby 開発チームからリリースされた。この脆弱性の悪用に成功した攻撃者は、脆弱なバージョンの RDoc を使用しているシステム上で、リモート・コード実行を行うことが可能になる。


脆弱性の詳細
  • RDoc の設定に使用されるファイルである、”.rdoc_options” を YAML ファイルとして解析する場合に、復元可能なクラスに制限がないため、オブジェクト・インジェクションが発生する。その結果として、リモート・コード実行に至る可能性がある。
  • ドキュメント・キャッシュを読み込む際に、細工されたキャッシュがあった場合には、オブジェクト・インジェクションが可能となり、その結果として、リモート・コード実行に至る可能性がある。
影響を受けるユーザー

以下の Ruby/RDoc gem を使用している開発者やシステム:

  • Ruby 3.0.6/3.1.4/3.2.3/3.3.0
  • RDoc gem 6.3.3/6.4.0〜6.6.2 (パッチが適用された、最新のバージョンを除く)

広範にわたる露出:RDoc は、多くの Ruby インストールに含まれる標準ツールであるため、多数のシステムが潜在的に脆弱である可能性がある。

行うべきこと

Ruby チームから公開されている RDoc のパッチ版に、直ちにアップグレードする:

  • Ruby 3.0:rdoc 6.3.4.1
  • Ruby 3.1:rdoc 6.4.1.1
  • Ruby 3.2:rdoc 6.5.1.1
  • その他のバージョン:rdoc 6.6.3.1 以降
  • Bundler ユーザー:Bundler dependency manager を使用している場合は、gem “rdoc”, “>= 6.6.3.1 “で Gemfile を更新する。
この脆弱性が示しているもの
  • コンフィグ・ファイルのリスク:この脆弱性が浮き彫りにするのは、便利そうに見えるツールであっても、コンフィグ・ファイルを安全に扱えない危険性が存在することだ。
  • サプライチェーンの精査の重要性:開発スタックに含まれる、全てのライブラリ/ツールのセキュリティ・アドバイザリを、常に最新の状態に保つことが極めて重要である。
注意事項

RDoc gem 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 のみを使用し、システムのセキュリティを確保することを強く推奨する。