最近の脆弱性 › CVE-2021-3129

Laravel Ignition の脆弱性(CVE-2021-3129)

この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。

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

CVE番号CVE-2021-3129
製品Laravel Ignition
深刻度(CVSS)9.8 緊急CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KEVへの追加日2023-09-18
米国政府機関の対応期限2023-10-09
ランサムウェアでの悪用悪用が確認されている
弱点の種類(CWE)不明

何が起きた

PHP のウェブアプリ用の仕組み Laravel などで使われる、エラー画面を見やすくする部品 Ignition に弱点が見つかりました。ファイルを読み書きする処理(file_get_contents() と file_put_contents())の使い方が安全でないため、攻撃者が任意の(好きに選んだ)コードを実行できる可能性があります。攻撃者はネットワーク経由で、ログインも利用者の操作もなしに狙えます。CISA は悪用を確認しており、ランサムウェアの攻撃で使われたことも分かっています。

攻撃の流れ

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

攻撃の流れ: 1. 攻撃者がデバッグモードのサイトを探す → 2. Ignition の機能へ細工した要求を送る → 3. ファイルの読み書き処理が悪用される → 4. サーバーで任意のコードが実行される1攻撃者がデバッグモードのサイトを探す2Ignition の機能へ細工した要求を送る3ファイルの読み書き処理が悪用される4サーバーで任意のコードが実行される攻撃の流れ: 1. 攻撃者がデバッグモードのサイトを探す → 2. Ignition の機能へ細工した要求を送る → 3. ファイルの読み書き処理が悪用される → 4. サーバーで任意のコードが実行される1攻撃者がデバッグモードのサイトを探す2Ignition の機能へ細工した要求を送る3ファイルの読み書き処理が悪用される4サーバーで任意のコードが実行される

誰が影響を受ける

2.5.2 より前の Ignition を使っているサイトが対象です。特に、8.4.2 より前の Laravel でデバッグモードを有効にしているサイトで悪用できると NVD に書かれています。

何をすればいい

Ignition を 2.5.2 以降に、Laravel を 8.4.2 以降に更新されているか確認してください。NVD によると、この弱点はデバッグモードを有効にしたサイトで悪用できます。Laravel の公式ドキュメントでは、本番環境ではデバッグモードの設定(APP_DEBUG)を常に false にするよう書かれているので、公開しているサイトでデバッグモードが有効になっていないかも確認してください。詳しくは Laravel と Ignition の公式の案内を確認してください。

やることチェックリスト

用語メモ

Laravel
PHP という言語でウェブアプリを作るための、よく使われる仕組み(フレームワーク)です。
デバッグモード
開発中に不具合を調べやすくするため、詳しいエラー情報などを表示する設定です。
ランサムウェア
データを暗号化して使えなくし、元に戻す代わりに金銭を要求する悪質なプログラムです。

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

Laravel Ignition File Upload Vulnerability

概要

Laravel Ignition contains a file upload vulnerability that allows unauthenticated remote attackers to execute malicious code due to insecure usage of file_get_contents() and file_put_contents().

推奨対応

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

公式情報