Abstract
The Adminer WordPress plugin allows public login to the site's editor. As a result this allows an attacker to connect to any database running on the local host or on internal systems which are accessible from the target WordPress server.
OVE ID
OVE-20160728-0001
Tested versions
This issue was successfully tested on the Adminer WordPress Plugin version 1.4.4.
Fix
Currently no fix for this issue is available.
Introduction
The Adminer WordPress plugin is a full-featured MySQL management tool based on the Adminer project. The plugin allows fast database management for WordPress admins. After installation of the plugin your database can be managed easily from within the WordPress Dashboard via the Tools -> Adminer menu option. This issue allows an attacker to connect to any database running on the local host or on internal systems which are accessible from the target WordPress server.
Please note that an attacker still needs to login (for example using username and password) to the target database. However, many site owners probably do not know or do not expect that anyone out there can try to login by using various password combinations to their (local) WordPress database. Often local or internal databases have weak credentials assigned to them.
Details
This issue exists due to the fact that the Adminer WordPress plugin exposes a publicly accessible interface (Adminer editor) that can be used by anyone on the web to authenticate against the site’s database directly. No login to the WordPress dashboard or admin login is required. It seems that the Adminer editor component was added about 5 months ago.
An attacker can also specify the target host:port
combination of the database to connect to, which allows him to connect to any database running on the local host or on internal systems which are accessible from the target WordPress server.
The script has a measure in place to limit brute-force attacks. Upon 30 connection attempts from a single IP this IP will be blocked for 30 minutes.
The script can be found at the following location (change URL to your WordPress site):
http://wp-site.com/wp-content/plugins/adminer/inc/editor/index.php
Using Google many sites can be found that have a publicly accessible database login page exposed: https://www.google.nl/search?q=inurl:/adminer/inc/