WordPress Advanced Access Manager 2.8.2 File Write / Code Execution

Related Vulnerabilities: CVE-2014-6059  
Publish Date: 03 Sep 2014
Author: Tom Adams
                							

                Details
================
Software: Advanced Access Manager
Version: 2.8.2
Homepage: http://wordpress.org/plugins/advanced-access-manager/
Advisory report: https://security.dxw.com/advisories/advanced-access-manager-allows-admin-users-to-write-arbitrary-text-to-arbitrary-locations-which-could-lead-to-arbitrary-code-execution-etc/
CVE: CVE-2014-6059
CVSS: 6.5 (Medium; AV:N/AC:L/Au:S/C:P/I:P/A:P)

Description
================
Advanced Access Manager allows admin users to write arbitrary files and execute arbitrary php

Vulnerability
================
Advanced Access Manager allows writing arbitrary content to arbitrary files. Depending on the server configuration this could allow arbitrary code execution, overwriting core WordPress files and e.g. blanking wp-config.php. In other configurations this could lead to overwriting files in the uploads directory.

Proof of concept
================

Visit http://localhost/wp-admin/admin.php?page=aam-configpress
Press “Save” (this creates the “aam_configpress” option)
Visit http://localhost/wp-admin/options.php
Set “aam_configpress” to “test.php”
Press “Save Changes”
Visit http://localhost/wp-admin/admin.php?page=aam-configpress again
Enter “<?php phpinfo();” into the textarea (without the quotes)
Press “Save”
Visit http://localhost/wp-content/aam/test.php

Note that there is no restriction on using “../” in the “aam_configpress” option so depending on server configuration you could create files anywhere on the filesystem.
This attack could be scripted to allow upload of binary files, including executable files.

Mitigations
================
Upgrade to version 2.8.3 or later

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-20: Discovered
2014-09-01: Reported to author via email
2014-09-01: Requested CVE
2014-09-01: Developer responded
2014-09-02: Developer reported the issue fixed
2014-09-03: Advisory published



Discovered by dxw:
================
Tom Adams
Please visit security.dxw.com for more information.
          



<p>