El complemento WordPress WPS Hide Login , que tiene más de 500,000 instalaciones activas, es un complemento popular utilizado para ocultar la página de inicio de sesión predeterminada de WordPress (wp-login.php). Se corrigió una vulnerabilidad en la versión 1.5.4.2 y posteriores que podría permitir a un atacante encontrar y acceder a la página de inicio de sesión secreta.
En la plugins_loaded
función, el complemento busca diferentes subcadenas en la REQUEST_URI
variable de entorno utilizando la strpos
función:
función pública plugins_loaded () { global $ pagenow ; if ( ! is_multisite () && ( strpos ( $ _SERVER [ 'REQUEST_URI' ], 'wp-signup' ) ! == false || strpos ( $ _SERVER [ 'REQUEST_URI' ], 'wp- enable ' ) ! == false ) && apply_filters ( 'wps_hide_login_signup_enable' , falso ) === falso ) { wp_die ( __ ( 'Esta característica no está habilitada' , 'wpserveur-hide-login' ) ); } ... ...
Debido a que algunas REQUEST_URI
ocurrencias no se decodifican usando la rawurldecode
función, un atacante podría codificar esas subcadenas en la URL para evadir la detección. El complemento redirigiría al usuario a la página de inicio de sesión oculta:
HTTP / 1.1 302 encontrado X-Redirect-By: WordPress Ubicación: https://www.example.com/ foo /? Action = register Longitud del contenido: 0
Cronograma
La vulnerabilidad se informó al autor el 20 de enero de 2020 y se lanzó una nueva versión 1.5.5 el mismo día.