最近の脆弱性 › CVE-2018-15133

Laravel Laravel Framework の安全でないデシリアライズの脆弱性(CVE-2018-15133)

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

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

CVE番号CVE-2018-15133
製品Laravel Laravel Framework
深刻度(CVSS)8.1 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
KEVへの追加日2024-01-16
米国政府機関の対応期限2024-02-06
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-502

何が起きた

PHP 用の開発の枠組み Laravel Framework で、X-XSRF-TOKEN という値を元のデータに戻す処理(デシリアライズ)に弱点が見つかりました。悪用されると、離れた場所から任意の(攻撃者が好きに選べる)命令を実行されるおそれがあります。ただし攻撃者は、アプリの暗号化の鍵(APP_KEY)を知っている必要があります。NVD の評価では、ログイン不要の攻撃者がネットワーク経由で悪用でき、CISA の KEV にも載っています。

攻撃の流れ

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

攻撃の流れ: 1. 攻撃者がアプリの APP_KEY を手に入れる → 2. 鍵を使って細工した X-XSRF-TOKEN を作る → 3. アプリがその値をデシリアライズする → 4. 攻撃者の命令がサーバーで実行される1攻撃者がアプリの APP_KEY を手に入れる2鍵を使って細工した X-XSRF-TOKEN を作る3アプリがその値をデシリアライズする4攻撃者の命令がサーバーで実行される攻撃の流れ: 1. 攻撃者がアプリの APP_KEY を手に入れる → 2. 鍵を使って細工した X-XSRF-TOKEN を作る → 3. アプリがその値をデシリアライズする → 4. 攻撃者の命令がサーバーで実行される1攻撃者がアプリの APP_KEY を手に入れる2鍵を使って細工した X-XSRF-TOKEN を作る3アプリがその値をデシリアライズする4攻撃者の命令がサーバーで実行される

誰が影響を受ける

Laravel Framework の 5.5.40 まで、および 5.6.x の 5.6.29 までを使っているアプリが対象です。Laravel によると、鍵に触れられた元従業員などが、その鍵を使って攻撃できる可能性があります。

何をすればいい

Laravel のセキュリティリリースである 5.6.30 以降に更新してください。5.6.30 ではクッキーの暗号化と変換の仕組みが変わるため、公式の案内(アップグレードガイド)を確認しながら進めてください。鍵が悪意のある人の手に渡った疑いがあれば、APP_KEY を新しい値に変更してください。

やることチェックリスト

用語メモ

デシリアライズ
保存や送信のために文字列などに変えたデータを、元のデータの形に戻す処理です。
APP_KEY
Laravel のアプリが、クッキーなどの暗号化に使う秘密の鍵です。
クッキー
Web サイトがブラウザーに保存させる小さなデータです。

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

Laravel Deserialization of Untrusted Data Vulnerability

概要

Laravel Framework contains a deserialization of untrusted data vulnerability, allowing for remote command execution. This vulnerability may only be exploited if a malicious user has accessed the application encryption key (APP_KEY environment variable).

推奨対応

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

公式情報