• ひとことでRuby on Rails で、特定の設定のときにサーバー上のファイルを読まれる弱点です。
  • 深刻度7.5 重要CVSS v3.1
  • まずやることRails 3.2 系は 3.2.18 以降に更新する

何をすればいいかを詳しく読む

基本情報(データから表示)

CVE番号CVE-2014-0130
製品Rails Ruby on Rails
深刻度(CVSS)7.5 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
KEVへの追加日2022-03-25
米国政府機関の対応期限2022-04-15
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-22(パストラバーサル)

何が起きた

Web アプリを作るための仕組み Ruby on Rails の、画面を自動で選んで表示する処理(暗黙のレンダリング)に、ディレクトリトラバーサルの弱点が見つかりました。ルーティングで「グロブ」と呼ばれる特定の書き方を使っている場合に、細工した依頼を送ると、サーバー上の任意のファイル(攻撃者が好きに選べるファイル)を読まれる可能性があります。NVD の評価では、離れた場所からログインなしで、利用者の操作もなしに攻撃できます。実際の攻撃での悪用も確認されています。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. 攻撃者がグロブ設定のある Rails アプリを探す → 2. ファイルの場所を細工した依頼を送る → 3. 暗黙のレンダリングが指定どおりに動く → 4. サーバー上のファイルの中身が読まれる1攻撃者がグロブ設定のある Rails アプリを探す2ファイルの場所を細工した依頼を送る3暗黙のレンダリングが指定どおりに動く4サーバー上のファイルの中身が読まれる攻撃の流れ: 1. 攻撃者がグロブ設定のある Rails アプリを探す → 2. ファイルの場所を細工した依頼を送る → 3. 暗黙のレンダリングが指定どおりに動く → 4. サーバー上のファイルの中身が読まれる1攻撃者がグロブ設定のある Rails アプリを探す2ファイルの場所を細工した依頼を送る3暗黙のレンダリングが指定どおりに動く4サーバー上のファイルの中身が読まれる攻撃の流れ: 1. 攻撃者がグロブ設定のある Rails アプリを探す → 2. ファイルの場所を細工した依頼を送る → 3. 暗黙のレンダリングが指定どおりに動く → 4. サーバー上のファイルの中身が読まれる1攻撃者がグロブ設定のある Rails アプリを探す2ファイルの場所を細工した依頼を送る3暗黙のレンダリングが指定どおりに動く4サーバー上のファイルの中身が読まれる

誰が影響を受ける

Ruby on Rails で作られた Web アプリを運用している組織が対象です。NVD の説明では、3.2.18 より前、4.0.x のうち 4.0.5 より前、4.1.x のうち 4.1.1 より前のバージョンで、特定のルーティングのグロブの設定を使っている場合に影響を受けます。

何をすればいい

Rails の開発チームは、この弱点を直した 3.2.18、4.0.5、4.1.1 を公開し、できるだけ早く更新するよう呼びかけています。使っている系列に合わせて、3.2.18 以降、4.0.5 以降、4.1.1 以降に更新されているか確認してください。あわせてメーカーの公式の案内を確認してください。

やることチェックリスト

  • Rails 3.2 系は 3.2.18 以降に更新する
  • Rails 4.0 系は 4.0.5 以降に更新する
  • Rails 4.1 系は 4.1.1 以降に更新する

用語メモ

ディレクトリトラバーサル 用語集で見る
ファイルの場所を指定する文字列を細工して、本来見せないはずのフォルダーのファイルを読み出す攻撃です。
ルーティング
Web アプリで、届いた URL をどの処理に渡すかを決める対応表のことです。
グロブ
ワイルドカードのように、いくつもの URL をまとめて1つの規則に当てはめる書き方です。

次に読む

公式情報と元データ

公式情報

元データ(英語・CISA KEV より)を開く

Ruby on Rails Directory Traversal Vulnerability

概要

Directory traversal vulnerability in actionpack/lib/abstract_controller/base.rb in the implicit-render implementation in Ruby on Rails allows remote attackers to read arbitrary files via a crafted request.

推奨対応

Apply updates per vendor instructions.

この元データの出どころ: CISA KEV カタログで見る