最近の脆弱性 › CVE-2019-9082

ThinkPHP のリモートコード実行の脆弱性(CVE-2019-9082)

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

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

CVE番号CVE-2019-9082
製品ThinkPHP ThinkPHP
深刻度(CVSS)8.8 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
KEVへの追加日2021-11-03
米国政府機関の対応期限2022-05-03
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-306, CWE-94

何が起きた

PHP でウェブサイトを作るための土台(フレームワーク)である ThinkPHP に、特定の形のアドレスにアクセスするだけで、サーバー上で攻撃者が選んだコマンドを実行できてしまう弱点が見つかりました。CISA は、この弱点が実際に悪用されたことを確認しています。NVD の評価では、ログインしていない攻撃者がネットワーク経由で悪用できるとされています。

攻撃の流れ

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

攻撃の流れ: 1. 攻撃者が細工したアドレスに接続する → 2. ThinkPHP が中の関数を呼び出してしまう → 3. サーバーでコマンドが実行される1攻撃者が細工したアドレスに接続する2ThinkPHP が中の関数を呼び出してしまう3サーバーでコマンドが実行される攻撃の流れ: 1. 攻撃者が細工したアドレスに接続する → 2. ThinkPHP が中の関数を呼び出してしまう → 3. サーバーでコマンドが実行される1攻撃者が細工したアドレスに接続する2ThinkPHP が中の関数を呼び出してしまう3サーバーでコマンドが実行される

誰が影響を受ける

ThinkPHP で作られたウェブサイトや製品を運用している人・組織が対象です。NVD の説明では、3.2.4 より前の ThinkPHP が影響を受け、Open Source BMS v1.1.1 などの製品でも使われているとされています。ThinkPHP の公式の更新情報は、どの更新がこの弱点を直したかを CVE 番号では示していません。

何をすればいい

使っている ThinkPHP の版を確かめてください。3.2 系なら、公式が「累積のセキュリティ更新」として出した 3.2.4 以降にします。5.x 系を使っている場合は、公式が「セキュリティ更新を含む」として出した 5.0.23 または 5.1.31 以降になっているかも確かめます。ThinkPHP を組み込んだ製品を使っている場合は、その製品のメーカーが更新を出していないか確かめ、あわせて ThinkPHP の公式の案内を確認してください。

やることチェックリスト

用語メモ

フレームワーク
ウェブサイトやアプリを作るときに、よく使う仕組みをまとめて用意した土台のようなソフトです。
コマンド
コンピューターに仕事をさせるための命令です。

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

ThinkPHP Remote Code Execution Vulnerability

概要

ThinkPHP contains an unspecified vulnerability that allows for remote code execution via public//?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]= followed by the command.

推奨対応

Apply updates per vendor instructions.

公式情報