Redirect Vulnerability in WordPress’s WP Login Plugin (wp-login.php)

Details of BNVL-2018-0008

What does the BNVL label mean?

BitNinja Server Security’s BNVL identifiers are intended for use to identify publicly known information security vulnerabilities in publicly released software packages. This project was designed to collect and analyze attack information from the BitNinja network after cluster analysis by the AI-powered Attack Vector Miner. More than 100 vulnerability types have been discovered with this project so far, so we decided to publish this platform to help to keep Linux server owners up-to-date.

Important! All listed BNVL vulnerabilities are protected by BitNinja PRO, so please check your configurations if your infrastructure is affected by any of them.

Syntax for BNVL labels:

BNVL prefix + Year + Arbitrary Digits


Name :
Redirect Vulnerability in WordPress’s WP Login Plugin (wp-login.php) 
Related Links: https://core.trac.wordpress.org/ticket/28469 

CVE ID: CVE-2014-2229

Description: 

However, I found that “wp-login.php” has an open redirection vulnerability. That means WP login plugin is vulnerable.

The vulnerability exists at “wp-login.php” page with “redirect_to” parameter, e.g. http://en.wordpress.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.google.com

(1) When a user click the URL ([1]) above, the “WordPress login” page appears. The user needs to enter his/her username and password. When this is done, the user is redirected to a webpage belonging to the website that installs “WP Login” plugin.

However, it seems that “WP Login” allows some other domains, i.e. google.com.

Now, a user could be redirected from “WP login” to a vulnerable URL in google first and later be redirected from this vulnerable site to a malicious site. This is as if being redirected from “WP login” directly.

My tests were performed on Firefox (26.0) in Ubuntu (12.04) and IE (9.0.15) in Windows 7.

(2) I will use the following tests to illustrate the scenario I painted above.

Pattern: wp-login.php?redirect_to=