PRODUCT NAME: Enable Media Replace WordPress Plugin
PRODUCT URL 1: http://wordpress.org/extend/plugins/enable-media-replace/
PRODUCT URL 2: http://mansjonasson.se/wordpress-plugins/enable-media-replace/
PRODUCT AUTHOR: Mans Jonasson for .SE (Stiftelsen for Internetinfrastruktur) -- http://www.iis.se/
SECURITY RESEARCHER: Ulf Harnhammar -- http://thcxthcx.net/
AFFECTED VERSIONS: 2.3 and probably all prior versions
STATUS: Unpatched. Mans was contacted on 30 Jan and 3 Feb, but he is very busy with other
things than maintaining this plugin.
SOLUTION: Deactivate the plugin temporarily. Look for other plugins that will help you with
the media handling.
IMPACT: Information retrieval and manipulation, arbitrary code execution
1) A user can perform SQL Injection attacks against the plugin at the Replace Media Upload page
(Media > Edit > Upload a new file). By changing the "attachment_id" parameter in the URL to:
.. the plugin will retrieve and display the administrator's user name and password hash. This
requires that the attacker has knowledge of the SQL table prefix, but that can be retrieved as
well from information_schema.TABLES .
NOTE: There are other SQL Injection bugs in the plugin code base, but it is currently not known if they
pose a security threat.
2) A user can upload arbitrary files, including PHP files, at the Replace Media Upload page using the
"Replace the file" functionality, which doesn't check if uploaded files have an allowed extension. This
can be exploited to execute arbitrary PHP code and for instance retrieve or change sensitive
information in the SQL database or the web server's file system.
Both issues require that the attacker has a valid user on the WordPress system with Author or higher
permissions. Therefore the vulnerabilities will have more of an impact in large organisations with
more users than in small organisations with fewer users.
// Ulf Harnhammar