SB2019072407 - Multiple vulnerabilities in WPS Limit Login plugin for WordPress



SB2019072407 - Multiple vulnerabilities in WPS Limit Login plugin for WordPress

Published: July 24, 2019

Security Bulletin ID SB2019072407
Severity
Medium
Patch available
YES
Number of vulnerabilities 5
Exploitation vector Remote access
Highest impact Data manipulation

Breakdown by Severity

Medium 20% Low 80%
  • Low
  • Medium
  • High
  • Critical

Description

This security bulletin contains information about 5 secuirty vulnerabilities.


1) Stored cross-site scripting (CVE-ID: N/A)

The disclosed vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.

The vulnerability exists due to insufficient sanitization of user-supplied data in admin area in "/blocks/log.php" and "/classes/plugin.php" files. A remote attacker can trick the victim by usage of the preinstalled jQuery to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.

Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.

File: /blocks/log.php
  • …<?php echo $user_info['ip']; ?>…

File: /classes/plugin.php
  • echo '<p>' . date_i18n( 'd/m/Y H:i:s', $date ) . ' - ' . $user_info['ip']…

2) Stored cross-site scripting (CVE-ID: N/A)

The disclosed vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.

The vulnerability exists due to insufficient sanitization of user-supplied data in admin area in the "/blocks/whitelist.php" file on 2-3 lines. A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.

Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.

2-3 lines:

$wps_limit_login_white_list_ips = $this->get_option( 'wps_qlimit_login_whitelist' );
$wps_limit_login_white_list_ips = ( is_array( $wps_limit_login_white_list_ips ) && ! empty( $wps_limit_login_white_list_ips ) ) ? implode( "\n", $wps_limit_login_white_list_ips ) : '';

3) Stored cross-site scripting (CVE-ID: N/A)

The disclosed vulnerability allows a remote attacker to perform cross-site scripting (XSS) attacks.

The vulnerability exists due to insufficient sanitization of user-supplied data in admin area in the "/blocks/whitelist.php" file on 20 line. A remote attacker can trick the victim to follow a specially crafted link and execute arbitrary HTML and script code in user's browser in context of vulnerable website.

Successful exploitation of this vulnerability may allow a remote attacker to steal potentially sensitive information, change appearance of the web page, perform phishing and drive-by-download attacks.

20 line:


4) Cross-site request forgery (CVE-ID: N/A)

The vulnerability allows a remote attacker to perform cross-site request forgery attacks.

The vulnerability exists due to insufficient validation of the HTTP request origin in the "/classes/plugin.php" file . A remote attacker can trick the victim to visit a specially crafted web page and perform arbitrary actions on behalf of the victim on the vulnerable website.


5) Improper Authorization (CVE-ID: N/A)

The vulnerability allows a remote attacker to bypass the protection.

The vulnerability exists in the "get_address()" method which read the variable "HTTP_X_FORWARDED_FOR". A remote attacker can change the header X-Forwarded-For for each request to always be the first attempt, create an automated brute force on the password and gain unauthorized access to the target system.





Remediation

Install update from vendor's website.