WordPress WP-Ban 1.62 Bypass

2014-09-17T00:00:00
ID PACKETSTORM:128292
Type packetstorm
Reporter Tom Adams
Modified 2014-09-17T00:00:00

Description

                                        
                                            `Details  
================  
Software: WP-Ban  
Version: 1.62  
Homepage: http://wordpress.org/plugins/wp-ban/  
Advisory report: https://security.dxw.com/advisories/vulnerability-in-wp-ban-allows-visitors-to-bypass-the-ip-blacklist-in-some-configurations/  
CVE: CVE-2014-6230  
CVSS: 5 (Medium; AV:N/AC:L/Au:N/C:P/I:N/A:N)  
  
Description  
================  
Vulnerability in WP-Ban allows visitors to bypass the IP blacklist in some configurations  
  
Vulnerability  
================  
This plugin allows blacklisting users based on their IP address, however it takes the IP address from the X-Forwarded-For header if available.  
Not all Web server configurations will strip or replace X-Forwarded-For headers – in which case the IP ban can be bypassed by sending this header. This plugin therefore only works in certain configurations, but does not warn admins of this fact.  
  
Proof of concept  
================  
  
Visit http://localhost/wp-admin/admin.php?page=wp-ban/ban-options.php  
Set “Banned IPs” to “127.0.0.1″  
Execute “curl http://localhost/\" and see the “You Are Banned” message  
Execute “curl http://localhost/ -H \'X-Forwarded-For: 999.999.999.999\'\" and see that it displays the page  
  
Note that this will not work if your Web server sets or strips X-Forwarded-For headers.  
(To remove the IP blacklist run this SQL: “delete from wp_options where option_name=\'banned_ips\';\")  
  
Mitigations  
================  
Upgrade to version 1.6.4 or later.  
If a reverse-proxy is used, check the “I am using a reverse proxy” box in the plugin settings, and ensure that X-Forwarded-For headers are being set even if the request already contains an X-Forwarded-For header.  
  
Disclosure policy  
================  
dxw believes in responsible disclosure. Your attention is drawn to our disclosure policy: https://security.dxw.com/disclosure/  
  
Please contact us on security@dxw.com to acknowledge this report if you received it via a third party (for example, plugins@wordpress.org) as they generally cannot communicate with us on your behalf.  
  
This vulnerability will be published if we do not receive a response to this report with 14 days.  
  
Timeline  
================  
  
2014-08-27: Discovered  
2014-09-04: Reported to vendor by email  
2014-09-04: Requested CVE  
2014-09-04: Vendor responded  
2014-09-17: Vendor reported a fixed version released  
2014-09-17: Published  
  
  
  
Discovered by dxw:  
================  
Tom Adams  
Please visit security.dxw.com for more information.  
  
  
  
  
`