Trusted Design

CVE-2019-5418 の詳細

CVEの情報

説明:
There is a File Content Disclosure vulnerability in Action View <5.2.2.1, <5.1.6.2, <5.0.7.2, <4.2.11.1 and v3 where specially crafted accept headers can cause contents of arbitrary files on the target system's filesystem to be exposed.

CVE更新日: 2019-03-27 14:29:01.533000

CVSSバージョン: 3.1

CVSSスコア: 7.5

KEVの情報

KEV更新日: 2025-07-07

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.985070000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2019-5418は、Ruby on RailsのAction Viewコンポーネントにおけるファイル内容開示の脆弱性です。以下に詳細を解説します。

1. 脆弱性の概要

Ruby on RailsのAction Viewコンポーネントに、ファイル内容開示の脆弱性(File Content Disclosure)が存在します。攻撃者は、細工されたAcceptヘッダを送信し、render file: 関数が使用されている場合に、ターゲットサーバー上の任意のファイルを読み取り、その内容を漏洩させることが可能です。この脆弱性は、テンプレートのレンダリングには影響しません。

1.1 影響

この脆弱性が悪用されると、サーバー上の任意のファイルの内容が攻撃者に開示される可能性があります。これにより、以下のような情報が漏洩する可能性があります。 * アプリケーションの設定詳細 * サーバー情報(フレームワーク、ライブラリ、OSのバージョンなど) * ユーザーデータ(パスワード、個人情報など) * APIキー

また、このファイル内容開示の脆弱性は、他の脆弱性(例えばCVE-2019-5420)と組み合わせることで、リモートコード実行(RCE)に繋がる可能性も指摘されています。

1.2 深刻度

  • CVSS v3.1 Base Score: 7.5 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    • Attack Vector (AV): Network (ネットワーク経由で攻撃可能)
    • Attack Complexity (AC): Low (攻撃の複雑さは低い)
    • Privileges Required (PR): None (特権は不要)
    • User Interaction (UI): None (ユーザーの操作は不要)
    • Scope (S): Unchanged (影響範囲は変更なし)
    • Confidentiality (C): High (機密性が高く侵害される)
    • Integrity (I): None (整合性への影響なし)
    • Availability (A): None (可用性への影響なし)
  • Broadcom Inc.とHeroDevsは、深刻度を「High」と評価しています。
  • SUSEは、この問題を「Moderate」の深刻度と評価しています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

この脆弱性はRuby on RailsフレームワークのAction Viewコンポーネントに存在するため、特定のOSバージョンに直接依存するものではありません。しかし、Red Hat Software Collectionsに含まれるrh-ror42-rubygem-actionpackおよびrh-ror50-rubygem-actionpackのバージョンに影響があったとされています。

影響を受けるRuby on Railsのバージョンは以下の通りです。 * Action View <5.2.2.1 * Action View <5.1.6.2 * Action View <5.0.7.2 * Action View <4.2.11.1 * Action View v3 * Ruby on Rails Framework 6.0.0 - <= 6.0.0.beta2 * Ruby on Rails Framework 5.2.0 - <= 5.2.2.0 * Ruby on Rails Framework All of 4.x prior to HeroDevs 4.2 LTS * Ruby on Rails Framework All of 3.x prior to HeroDevs 3.2 LTS * Ruby on Rails Framework All of 2.x prior to HeroDevs 2.3 LTS

2.2 影響を受ける設定

この脆弱性は、コントローラー内で render file: オプションが使用されており、かつformatが明示的に指定されていない場合に影響を受けます。

影響を受けるコードの例: ruby class UserController < ApplicationController def index render file: "#{Rails.root}/some/file" end end

3. 影響を受けた時の兆候

システムがこの脆弱性の影響を受けた際の具体的な兆候は、攻撃者がどのファイルを読み取ろうとしたかによります。直接的なエラーメッセージやクラッシュなどではなく、攻撃者が意図しないファイルの内容を不正に取得している状態となるため、通常のログなどから検出することは難しい可能性があります。Webサーバーのアクセスログやアプリケーションのログを詳細に分析し、不審なAcceptヘッダを持つリクエストや、通常アクセスされないファイルへのリクエストがないかを確認することが考えられます。

4. 推奨対策

4.1 本対策

以下の修正バージョンにアップグレードしてください。 * 6.0.0.beta3 * 5.2.2.1 * 5.1.6.2 * 5.0.7.2 * 4.2.11.1

4.2 暫定回避策(緩和策)

render file: を使用している箇所で、明示的に formats オプションを指定することで、この脆弱性を緩和できます。

緩和策を適用したコードの例: ruby class UserController < ApplicationController def index render file: "#{Rails.root}/some/file", formats: [:html] end end

また、以下のモンキーパッチをイニシャライザに適用することでも緩和が可能です。

config/initializers/formats_filter.rb: ```ruby

frozen_string_literal: true

ActionDispatch::Request.prepend(Module.new do def formats super().select do |format| format.symbol || format.ref == "/" end end end) ```

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る