Control Web Panelに遠隔コード実行の脆弱性、修正版あり
Control Web Panel(CWP)に、ネットワーク越しに任意のコマンドを実行されるおそれのある脆弱性が公表されました。パネルをインターネットに公開している運用者は、修正版への更新を最優先にし、更新までは接続元を絞ってください。
急ぎ度: 至急
CVSS v3は9.8で認証も利用者の操作も要らず、悪用手法を扱った技術解説が公開されている一方、修正版は出ているため、公開中のパネルは今すぐ更新する段階です。
関係があるか
CWPでWebサイトやメールを運用している組織が対象です。VPSや自社サーバーにCWPを入れ、パネルをインターネット側から開ける状態にしている環境ほど、影響が大きくなります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Control Web Panel(CWP) | webpanel_version 1.16未満 | 1.16 |
確かめ方
- 1CWPが動いているサーバーを洗い出し、それぞれのwebpanel_versionが1.16未満かどうかを確認します。
- 2パネルのポートがインターネットから到達できるかを、ファイアウォールやクラウドのセキュリティグループの設定で確認します。
- 3レンタルサーバーやVPSの事業者にサーバー管理を任せている場合は、CWPを使っているか、更新が済んでいるかを事業者に問い合わせます。
何が起きたか
CWPのユーザーパネルにあるディレクトリ保護の機能に、受け取った入力をそのままOSのコマンドとして実行してしまう脆弱性が見つかりました。悪用されると、サーバー上で攻撃者が選んだコマンドを実行されます。
原因は、protected_directoryモジュールの削除処理にあります。POSTで受け取った値をエスケープせず、そのままshell_execに渡していました。実行されるのはユーザーパネルの権限です。分類はCWE-78(OSコマンドインジェクション)で、CVSS v3は9.8、CVSS v4は9.3です。
修正は1.16で入りました。CWPの変更履歴にも、この版が修正版として載っています。
攻撃の流れ
-
1
パネルへ到達
インターネットなどから、CWPのユーザーパネルに接続できる状態にあります。
-
2
細工した値を送信
ディレクトリ保護の削除処理に、コマンドとして解釈される値を含む要求を送ります。
-
3
そのまま実行
入力が無害化されないままshell_execに渡され、OSコマンドとして動きます。
-
4
パネル権限で操作
攻撃者がユーザーパネルの権限で、サーバー上のデータやプログラムを操作します。
どう悪用されるか
CVSSの評価では、ネットワーク越しに攻撃でき、事前のログインは要らず、管理者や利用者に何かを操作させる必要もありません。攻撃の難しさも低いとされています。パネルに接続できる相手なら、誰でも試せる条件です。
成功すると、サーバー上で任意のコマンドが実行されます。機密性・完全性・可用性のすべてに高い影響があるという評価です。1台に複数のサイトを載せている場合は、1つのパネルの侵害がほかのサイトのデータやメールにも及ぶおそれがあります。
今すぐやること
-
1
対象のCWPを洗い出し、版を確認する
社内と委託先のサーバーで、CWPを使っているものを一覧にします。webpanel_versionが1.16未満なら、対象です。
-
2
1.16以降に更新する
ベンダーの変更履歴と告知で更新方法を確認し、修正版に更新します。更新前にバックアップを取っておくと、不具合が出たときに戻せます。
-
3
パネルの公開範囲を見直す
管理や顧客の操作に必要な接続元だけに絞れないかを確認します。更新が終わったあとも、不要なら閉じたままにしておくほうが安全です。
-
4
侵害の跡がないかを調べる
更新前にパネルをインターネットへ公開していた場合は、Webサーバーのアクセスログでprotected_directoryに関する不審なPOSTを探します。あわせて、身に覚えのないアカウント・ファイル・定期実行の設定・不審なプロセスがないかを見ます。悪用手法の解説がすでに出ているため、更新前の期間も調べておくのが安全です。
すぐ更新できないとき
すぐに更新できないときは、パネルが使うポートへの接続を、管理者のIPアドレスだけに絞ります。ファイアウォールかクラウド側のセキュリティグループで設定します。これは攻撃の入口を狭めるつなぎで、脆弱性が直るわけではありません。ベンダーが公式の回避策を案内していないかも、告知で確認してください。
背景
CWPは、CentOS Web Panelの名前でも知られる、Webホスティング向けの管理パネルです。ドメイン、メール、データベース、FTPなどの設定をブラウザーから扱えます。VPSや小規模なホスティング事業者で使われることが多く、顧客がログインするユーザーパネルは、インターネット側に開けておく前提の作りです。
今回の脆弱性があるのは、ディレクトリ保護の削除処理です。パネルの機能がOSのシェルコマンドを呼び出す箇所で、入力の扱いを誤ると、OSコマンドインジェクション(CWE-78)になります。1台のサーバーに複数のサイトとメールを載せる使い方では、パネルが破られると、そこに載るサイトすべてが危険にさらされかねません。
よくある質問
Q.レンタルサーバーを借りているだけの場合は、何をすればよいですか。
まだ分かっていないこと
- ユーザーパネルの権限で、サーバー全体の制御まで進めるのかどうかは、公表された説明からは分かっていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| Control Web Panel | Control Web Panel |
1.16 未満 |
1.16 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Control Web Panel (CWP) before webpanel_version 1.16 contains an OS command injection vulnerability in the protected_directory user panel module that allows attackers to execute arbitrary commands by submitting unescaped input through the file POST parameter in the acc=deletedp action. Attackers can exploit this flaw, which passes attacker-controlled input directly into a shell_exec call, to achieve code execution in the user panel context.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- exploit VulnCheck Blog
- web disclosure@vulncheck.com
- web disclosure@vulncheck.com
- web nvd.nist.gov
- web github.com