Acadlix LMSに任意ファイル削除の脆弱性、1.1.9以前が対象
WordPressプラグインのAcadlix LMS 1.1.9以前に、サーバー上のファイルを削除され、サイトの乗っ取りにつながる脆弱性があります。ログイン不要に近い条件で悪用されうるため、導入サイトは版を確認し、修正版へ更新してください。
急ぎ度: 早めに
CVSS v3は9.1で、ログイン不要に近い条件でファイルを削除され、サイトの乗っ取りまで進みうるうえ、公表されたばかりで更新前のサイトが多く残っているとみられるためです。
関係があるか
WordPressでAcadlix LMSを使い、クイズ・オンライン試験・講座を公開している組織が対象です。学校、研修会社、社内研修サイト、会員制の学習サイトなどが当てはまります。
| 製品 | 影響を受ける版 | 修正版 |
|---|---|---|
| Acadlix LMS(WordPress用プラグイン) | 1.1.9以前のすべての版 | 1.1.9より新しい版。版番号はWordPressのプラグインページかベンダーの告知で確認してください |
確かめ方
- 1WordPressの管理画面で「プラグイン」を開き、Acadlix LMSが入っているか、有効かどうかを確認します。無効でも導入済みなら更新するか削除します。
- 2版が1.1.9以前なら対象です。WP-CLIが使える環境では、次のコマンドで版を確認できます。
- 3本番サイトだけでなく、ステージング環境や、複数のWordPressを運用している場合は各サイトも調べます。
何が起きたか
Acadlix LMSの1.1.9以前には、サーバー上の任意のファイルを外部から削除できてしまう脆弱性があります。2026年10月31日に公表され、CVSS v3は9.1です。
wp-config.phpのような設定ファイルが消えると、サイトが動かなくなるだけでなく、遠隔からコードを実行される事態にも発展しえます。
原因は、アセスメントのファイルを削除するpost_delete_assessment_file_by_id関数が、渡されたファイルパスを十分に検証していないことです。分類はCWE-22(パストラバーサル)です。
攻撃の流れ
-
1
公開ページの確認
サイトの公開ページに出力されているJavaScriptの設定値から、REST API用の共通nonceを入手します。
-
2
削除の要求
そのnonceを使い、プラグインのREST APIにファイル削除の要求を送ります。
-
3
パス検証の欠如
パスの検証が不十分なため、本来対象外のファイルも削除されます。
-
4
サイトへの被害
wp-config.phpなどが消えると、サイト停止や乗っ取り、任意コードの実行に進みえます。
どう悪用されるか
説明上は、購読者(subscriber)以上のログインが必要とされています。ただし、REST APIの権限確認が見ているのは汎用のwp_rest nonceだけです。このnonceはプラグイン自身が、すべてのフロントエンドページのacadlixOptionsというJavaScriptオブジェクトに出力しています。そのため、実質的にはログインなしの訪問者でも条件を満たします。CVSSの評価も、認証不要(PR:N)、利用者の操作不要(UI:N)、ネットワーク経由(AV:N)です。
被害は、サーバー上のファイルの削除です。評価では、完全性と可用性への影響が高く、情報の漏えいは想定されていません。ただし、wp-config.phpのような重要ファイルが消えた場合は、遠隔からコードを実行される事態にまで進みえます。
今すぐやること
-
1
導入と版を確認する
管理しているすべてのWordPressで、Acadlix LMSの有無と版を確認します。1.1.9以前なら対象です。
wp plugin get acadlix --field=version -
2
更新前にバックアップを取る
ファイル一式とデータベースを保存します。すでにファイルが消えていた場合に、復旧の手がかりになります。
-
3
修正版に更新する
管理画面のプラグイン更新から、1.1.9より新しい版に更新します。版番号と変更内容は、ベンダーの告知とWordPressのプラグインページで確認してください。
-
4
侵害の跡を調べる
wp-config.phpや.htaccessなど重要ファイルの有無、見覚えのないファイルの追加、サイトの突然の初期化画面表示がないかを確認します。Webサーバーのアクセスログで、プラグインのREST APIへの不審な要求がないかも見ておきます。
-
5
使っていなければ削除する
試験導入のまま放置しているサイトでは、無効化だけで済ませず、プラグインごと削除します。
すぐ更新できないとき
すぐに更新できないときは、Acadlix LMSを無効化するのが確実です。クイズや試験の機能は止まるため、公開中の講座がある場合は利用者への告知が要ります。無効化できない場合は、WordPress用のWAF(Wordfenceなど)で、プラグインのREST APIへの要求を制限します。ルールの有無は各製品の案内で確認してください。
背景
Acadlix LMSは、WordPressの上でクイズ、オンライン試験、講座を運営するためのプラグインです。AIによる問題作成の機能もあります。受講者の登録や成績管理を担うため、学校や研修を提供する組織では、公開サイトの一部として日常的に使われています。
この脆弱性で特徴的なのは、権限確認の弱さです。WordPressのREST APIが確認するnonceは、本来ログイン状態に結びつくものとして使われます。ところがこのプラグインは、共通のnonceを全ページに出力しており、確認が事実上ほぼ機能していません。任意ファイルの削除は、wp-config.phpを狙われるとサイト全体の乗っ取りにつながりえるため、WordPressのプラグインでは深刻に扱われる種類の脆弱性です。
よくある質問
Q.会員登録を閉じていれば影響はありませんか。
Q.wp-config.phpが消えているのを見つけたら、どうすればよいですか。
この記事は、取得元の公開情報をもとに、人が監修しながらAIを活用して執筆しています。執筆と監修は佐々木 航が担い、公開したあとも人が内容を確認しています。誤りに気づいたときは直し、記事の末尾に訂正の行を残します。対応を決める前に、下の原文と参照先も確認してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 修正版 |
|---|---|---|---|
| acadlix | Acadlix LMS – AI Quiz Maker, Online Exam & Course Plugin for WordPress |
1.1.9 以前 |
— |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
The Acadlix LMS – AI Quiz Maker, Online Exam & Course Plugin for WordPress plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the post_delete_assessment_file_by_id function in all versions up to, and including, 1.1.9. This makes it possible for authenticated attackers, with subscriber-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). The route's permission callback only verifies a generic wp_rest nonce that the plugin itself emits inside the public acadlixOptions JavaScript object on every frontend page, effectively reducing the authentication requirement to unauthenticated.
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory