本文へ移動
English version →
重大 9.8 急ぎ度: 早めに

CWPで任意のPHPを読み込まれる脆弱性、修正版あり

Control Web Panelに、認証なしでサーバー上の任意のPHPファイルを読み込ませられる脆弱性が公表され、修正版が出ています。CWPでサーバーを運用している組織は、版を確認して更新し、管理画面の公開範囲も見直してください。

CVE-2026-73695 公開 更新 執筆・監修: 佐々木 航 人が監修しながらAIを活用して執筆
記事のイメージ(生成 AI による画像)
画像は生成 AI で作成したイメージです

急ぎ度: 早めに

認証不要でネットワーク越しに悪用でき、CVSS v3は9.8、v4は9.3と高く、修正版も出ているため、CWPの管理画面を外部に公開している環境は早めの更新が必要です。

関係があるか

VPSや専用サーバーでCWPを使ってWebサイトやメールを管理している組織が対象です。ホスティング事業者や制作会社が顧客向けに運用している環境も含まれます。

製品影響を受ける版修正版
Control Web Panel (CWP) webpanel_versionが1.16より前 webpanel_version 1.16

確かめ方

  1. 1CWPの管理画面にログインし、画面に表示されるwebpanel_versionが1.16以上かを確認します。
  2. 2どのサーバーにCWPが入っているか分からないときは、サーバーの台帳や、管理画面に使っているホスト名とポートを洗い出します。
  3. 3ベンダーの更新履歴(changelog)で、自社の版がどの更新に当たるかを照らし合わせます。
  4. 4ホスティング会社にサーバーを借りている場合は、CWPを使っているか、更新を誰が行うかを契約先に問い合わせます。

何が起きたか

CWPのユーザー向けページに、外部から送られた値でサーバー上のPHPファイルを読み込ませられる脆弱性があります。

原因は、services/users/index.phpが、リクエストで渡されたモジュール名をそのままincludeのパスにつなげていることです。許可するモジュール名の一覧による絞り込みも、basename()による名前の切り出しも、上位ディレクトリへさかのぼる指定の除去もありません。このため、さかのぼる指定をモジュール名に含めると、本来は読み込まれないはずの場所にある.phpファイルまで読み込まれます。分類はCWE-98です。

公表は2026年11月2日で、webpanel_version 1.16で修正されています。公表の翌日という段階なので、CWPの管理画面をインターネットに公開しているサーバーから先に更新するのが現実的でしょう。

攻撃の流れ

  1. 1

    ネット越しに到達

    CWPのユーザー向けページに、ログインなしでネットワーク経由でアクセスします。

  2. 2

    モジュール名を細工

    moduleパラメーターに、上位ディレクトリへさかのぼる指定を含む名前を送ります。

  3. 3

    別のPHPを読み込み

    サーバーが、意図していない場所の.phpファイルをincludeします。

  4. 4

    PHPコードが動く

    読み込まれたファイルのコードが、CWPを動かす権限でサーバー上で実行されます。

公開されている情報をもとにした流れの例です。

どう悪用されるか

悪用にログインは要りません。ネットワークからCWPの該当ページに届けば、利用者の操作を待たずに試せます。CVSSの評価でも、認証なし、操作なし、攻撃の複雑さは低いとされています。

悪用されると、サーバー上の.phpファイルが意図しない形で読み込まれ、実行されます。読み込めるのはサーバー上にすでにある.phpファイルに限られますが、CVSSは機密性・完全性・可用性のすべてを高と評価しています。ホスティング用のサーバーでは、1台の侵害が同居する複数のサイトに及ぶおそれもあります。

今すぐやること

  1. 1

    CWPの版を確認する

    管理画面でwebpanel_versionを見て、1.16より前なら対象です。台帳にある全サーバーを確認し、開発用や使っていない検証用のサーバーも漏らさないようにします。

  2. 2

    修正版に更新する

    ベンダーの更新履歴にある手順に沿って、CWPを修正版に更新します。インターネットに管理画面を公開しているサーバーから先に行います。更新前にバックアップを取っておくと、戻す必要が出たときに慌てません。

  3. 3

    管理画面の公開範囲を絞る

    CWPの管理用ポートは、社内や保守用の固定IPなど、必要な接続元だけに制限します。更新が済んでいても、外部に公開し続ける理由がなければ閉じておくと、次の脆弱性に備えられます。

  4. 4

    アクセスログで不審な痕跡を探す

    公表前にさかのぼって、services/users/index.phpへのリクエストでmoduleの値に不自然な文字列が含まれていないかを調べます。あわせて、見覚えのないPHPファイルや、新しく作られたアカウント、不審なcronの登録がないかも確認します。

すぐ更新できないとき

すぐに更新できないときは、ファイアウォールでCWPの管理用ポートへの接続を信頼できるIPアドレスだけに限ります。前段にWAFやリバースプロキシがある場合は、moduleパラメーターに上位ディレクトリへさかのぼる指定を含むリクエストを遮断するルールを入れるのも、つなぎとして使えます。ただし、これらは更新の代わりにはなりません。ベンダー公式の回避策の有無は、ベンダーの告知で確認してください。

背景

Control Web Panelは、VPSや専用サーバー上でWebサイト、メール、DNS、データベースなどをブラウザーから管理するためのホスティング管理パネルです。CentOS Web Panelという名前でも知られ、有料のパネルの代わりに使う小規模な事業者や制作会社が少なくありません。サーバーの設定を一括で扱うため、パネルが破られると、そこで動くサイトやメールの全体に影響が及びます。

CWPでは、過去にもログイン前に悪用できるリモートコード実行の脆弱性が見つかり、実際に攻撃で悪用されたことがあります。今回の脆弱性はinclude文にユーザー入力を渡してしまう型で、PHPで作られた管理ツールでは古くからある種類です。許可するモジュール名を固定の一覧で絞る、という基本的な対策が欠けていたことが原因です。

よくある質問

Q.更新したあと、パスワードの変更は必要ですか。
A.アクセスログに不審なリクエストがなく、不審なファイルやアカウントも見つからなければ、この脆弱性だけを理由に一斉に変更する必要はありません。侵害の跡が見つかった場合は、CWPの管理者パスワード、サーバー上の鍵、データベースの接続情報を入れ替え、サーバーの再構築も検討してください。

この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。

影響パッケージ

種類パッケージ影響を受ける版修正版
Control Web Panel Control Web Panel
1.16 未満
1.16
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。

Control Web Panel (CWP) before webpanel_version 1.16 contains a path traversal vulnerability in services/users/index.php, where an attacker-supplied module name is concatenated directly into an include path with no allowlist, basename(), or traversal sanitization. An attacker can supply directory traversal sequences in the module name to include arbitrary local .php files, resulting in local PHP file inclusion.

出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

参照URL

当サイトでは、アクセス解析と広告の効果測定のために Cookie を使います。株式会社Game のサイト共通の設定です。 詳しく