- ひとことでLaravel のエラー画面の部品 Ignition で、外から任意のコードを動かせる弱点
- 深刻度9.8 緊急CVSS v3.1
- まずやることIgnition を 2.5.2 以降に更新する
基本情報(データから表示)
| 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を使用して作成した図です。実際の攻撃は、これと異なる場合があります。
誰が影響を受ける
2.5.2 より前の Ignition を使っているサイトが対象です。特に、8.4.2 より前の Laravel でデバッグモードを有効にしているサイトで悪用できると NVD に書かれています。
何をすればいい
Ignition を 2.5.2 以降に、Laravel を 8.4.2 以降に更新されているか確認してください。NVD によると、この弱点はデバッグモードを有効にしたサイトで悪用できます。Laravel の公式ドキュメントでは、本番環境ではデバッグモードの設定(APP_DEBUG)を常に false にするよう書かれているので、公開しているサイトでデバッグモードが有効になっていないかも確認してください。詳しくは Laravel と Ignition の公式の案内を確認してください。
やることチェックリスト
- Ignition を 2.5.2 以降に更新する
- Laravel を 8.4.2 以降に更新する
- 公開サイトのデバッグモードを無効にする
用語メモ
次に読む
公式情報と元データ
公式情報
- 公式の対策の出典(github.com)
- 公式の対策の出典(github.com)
- 公式の対策の出典(laravel.com)
- 公式の対策の出典(cveawg.mitre.org)
- NVD(米国の脆弱性データベース)
- CISA KEV カタログ
元データ(英語・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.
この元データの出どころ: CISA KEV カタログで見る