SuiteCRMにコード実行の脆弱性、修正版を公開
SuiteCRMのワークフロー機能に、WorkFlowロールを持つユーザーがサーバー上でコードを実行できる脆弱性が見つかりました。自社で運用している組織は、7.15.2または8.10.2へ更新し、ロールの付与先も見直してください。
同じ発表の脆弱性 2 件
- CVE-2026-71550 重大 9.9
- CVE-2026-100358 重大 9.4
急ぎ度: 早めに
CVSS v3は9.9で、サーバー上のコード実行まで進む一方、悪用にはWorkFlowロールを持つアカウントが要り、修正版の7.15.2と8.10.2がすでに出ているため、早めの更新が妥当です。
関係があるか
自社のサーバーでSuiteCRMを動かし、営業・問い合わせ管理などの担当者にログインアカウントを配っている組織が対象です。WorkFlowロールを持つユーザーが一人でもいれば、条件に当てはまります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| SuiteCRM 7系 | 7.15.2より前の版(勧告では7.15.1以下) | 7.15.2 |
| SuiteCRM 8系 | 8.0.0以上、8.10.2未満の版(勧告では8.10.1以下) | 8.10.2 |
確かめ方
- 1SuiteCRMの設置ディレクトリでsuitecrm_version.phpを開き、版を確認します。8系ではpublic/legacy配下にあります。管理画面のバージョン情報でも確認できます。
- 2ロールの管理画面で、ワークフロー(AOW_WorkFlow)のアクセスが「有効」になっているロールと、そのロールを持つユーザーを洗い出します。
- 3自社で運用していない場合(ベンダーやクラウド事業者が管理している場合)は、提供元に適用済みの版を問い合わせます。
何が起きたか
SuiteCRMのワークフロー機能に、サーバー上で任意のPHPファイルを実行させられる脆弱性が見つかりました。WorkFlowロールを持つ一般のユーザーでも、CRMのデータや設定情報を持ち出し、サーバーに居座る足がかりを作れます。
原因は、modules/AOW_WorkFlow/controller.phpがaow_actionという値をそのままrequire_once()に渡し、読み込むファイルの場所を制限していなかったことです。値にパスをさかのぼる指定を混ぜると、本来の範囲の外にあるファイルが読み込まれます。CWEの分類はCWE-98(PHPのinclude/require文に渡すファイル名の不適切な制御)です。
SuiteCRMは7.15.2と8.10.2で修正しました。CVEの記録は2026年11月5日付です。
攻撃の流れ
-
1
ログイン
WorkFlowロールを持つアカウントでSuiteCRMにログインします。
-
2
ワークフロー処理へ
ワークフロー機能のaow_action値に、想定外のファイルを指す値を渡します。
-
3
PHPが実行される
サーバーが指定されたPHPファイルを読み込み、そのまま実行します。
-
4
情報の持ち出し
CRMデータやconfig.phpのデータベース認証情報などにアクセスされます。
-
5
居座られる
ウェブシェルなどの裏口が置かれ、長期にわたり遠隔操作されるおそれがあります。
どう悪用されるか
ネットワーク経由で、有効なログインセッションとWorkFlowロールがあれば成立します。管理者権限は要らず、利用者の操作も不要で、攻撃の難易度は低いと評価されています。CVSSのスコープが「変更あり」になっているのは、影響がSuiteCRMの枠を超えて、Webサーバーが動いている環境全体に及ぶためです。
悪用されると、CRMの全データ(個人情報を含む顧客記録)が読み出され、config.phpからデータベースの認証情報なども取られます。Webサーバーの実行ユーザーが読み書きできる場所には、ファイルの読み書きも及びます。サーバーの設定によっては、任意のシステムコマンドの実行にも進みます。ウェブシェルのような裏口を置かれると、更新後も侵入が続く可能性があります。
今すぐやること
-
1
修正版に更新する
7系は7.15.2、8系は8.10.2へ更新します。本番に当てる前に、ワークフローが動くかをテスト環境で確認しておくと安心です。
-
2
現在の版を確認する
更新前後に、設置ディレクトリで版を確認します。8系ではpublic/legacy配下の同名ファイルを見ます。
grep suitecrm_version suitecrm_version.php -
3
WorkFlowロールの付与先を減らす
ワークフローを実際に使う人だけに絞ります。使っていない担当者や退職者のアカウントは、無効化または権限の取り消しをします。
-
4
侵害の跡を調べる
Webサーバーのアクセスログで、ワークフロー機能へのリクエストに見慣れない値が混ざっていないかを確認します。Webから到達できる場所に、身に覚えのないPHPファイルがないかも調べます。
-
5
疑わしい痕跡があれば認証情報を替える
痕跡が見つかった場合は、config.phpに書かれたデータベースのパスワードなどを変更します。必要に応じてサーバーを再構築します。
すぐ更新できないとき
回避策は示されていません。すぐに更新できないあいだのつなぎとして、WorkFlowロールを持つユーザーを最小限に絞り、SuiteCRMへのアクセスをVPNや社内ネットワークなど必要な範囲に限ります。これで脆弱性は消えないので、更新までの時間稼ぎと考えてください。
背景
SuiteCRMは、顧客情報・商談・見積・メールなどをまとめるオープンソースのCRMです。社内で顧客データの中心になることが多く、設定ファイルのconfig.phpにはデータベースの認証情報が入ります。サーバー上でコードを動かされると、顧客データと接続先の秘密情報が一度に狙われる構造です。
今回の脆弱性があるのは、条件に応じて処理を自動化するワークフロー機能です。PHPのアプリケーションでは、ユーザーが渡した値でinclude/requireの対象ファイルが決まると、任意のファイルがコードとして実行されることがあります。CWE-98は、この種の問題を指す分類です。SuiteCRMの場合、WorkFlowロールという管理者より低い権限で到達できる点が、影響範囲を判断するときの要になります。
よくある質問
Q.WorkFlowロールを持つ人が社内に数人しかいなければ、後回しにしてよいですか。
まだ分かっていないこと
- 更新できない場合の回避策は、勧告に示されていません。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
SuiteCRM is an open-source, enterprise-ready Customer Relationship Management (CRM) software application. Prior to 7.15.2 and 8.10.2, the workflow controller uses a path-traversal-capable aow_action value in require_once() without constraining the resolved file. The affected flow begins at modules/AOW_WorkFlow/controller.php and uses aow_action, and require_once() to carry attacker-controlled data or authorization state into the security-sensitive operation. An authenticated user with the WorkFlow role can include executable PHP, obtain server-side code execution, access CRM data and configuration secrets, and establish persistent access. This issue is fixed in versions 7.15.2 and 8.10.2.
出典: CVE.org (CVE Program・cvelistV5) NVD