Laravel の脆弱性 CVE-2024-52301 が FIX:Web アプリへの多様な攻撃での悪用可能性

Critical Laravel Flaw (CVE-2024-52301) Exposes Millions of Web Applications to Attack

2024/11/14 SecurityOnline — Laravel フレームワークに、深刻なセキュリティ脆弱性 CVE-2024-52301 (CVSS:8.7) が発見された。この、堅牢なアプリケーションを構築するための、洗練された構文と包括的なツールセットで知られるフレームワークの欠陥により、多数の Laravel ベースのアプリケーションにおいて、不正アクセス/データ改竄/権限昇格の危険が生じる恐れがある。

Laravel の環境コンフィグを悪用する、不適切な入力検証などに、脆弱性 CVE-2024-52301 は関連する。この問題の根本は、スクリプトでコマンドライン引数を処理するための、PHP の register_argc_argv ディレクティブを、Laravel が処理する際の方式に起因する。

このディレクティブが ON に設定されている場合には、細工された URL を介して攻撃者がフレームワークの操作を達成し、リクエストの処理時に Laravel が使用する環境変数を、変更するという可能性が生じる。

この不適切な検証を悪用する攻撃者は、入力検証のバイパスや、悪意のデータ注入を可能にする。 register_argc_argv により、コマンドライン引数へのアクセスが許可されるため、この設定が有効化されている Laravel アプリケーションはリスクが増大する。なぜなら、悪意の人物が PHP のデフォルトの動作を悪用して、アプリケーション環境を不正に制御する可能性があるためだ。

Laravel は Web アプリケーションと API の開発に広く使用されるため、この脆弱性の影響が広範囲に及ぶ可能性があり、特に懸念されている。この欠陥は、以下の Laravel のバージョンに影響を及ぼす:

  • Versions < 6.20.45
  • Versions >= 7.0.0 and < 7.30.7
  • Versions >= 8.0.0 and < 8.83.28
  • Versions >= 9.0.0 and < 9.52.17
  • Versions >= 10.0.0 and < 10.48.23
  • Versions >= 11.0.0 and < 11.31.0

これらのバージョンの Laravel を、一般向けのアプリケーションに使用している組織は、特に危険な状況にある。この脆弱性を悪用する攻撃者は、権限昇格や機密データ・アクセスを達成し、さらには、悪意のコード注入の可能性を得るという。

すでに Laravel は、影響を受ける全バージョンに対してパッチを発行し、CVE-2024-52301 に対応している。更新されたバージョンは、以下のとおりである:

最新のパッチにより、非 CLI SAPI (Server Application Programming Interfaces) の環境検出において、Laravel は argv 値を無視するようになり、この脆弱性は解消されている。開発者にとって、このパッチは不可欠である。Laravel がユーザーに推奨するのは、これらのパッチを適用したバージョンへと、ただちにアップグレードすることだ。