SimpleForm <= 3.10.0 - Unauthenticated Privilege Escalation to wp_capabilities Mass Assignment via simpleform_wp_register
What fixes it
No source in this snapshot names a fixed version.
Description
The SimpleForm – Form Maker to Chat Apps with Quiz, Poll and Multi Lead Notifications plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 3.10.0 This is due to the wp_ajax_nopriv_simpleform_wp_register AJAX action lacking any capability check for role assignment and the save_custom_fields_to_user_meta() function using an exclusion list that omits wp_capabilities, combined with get_form_settings() returning a hard-coded defaults array that unconditionally enables meta writing regardless of the supplied form_id. This makes it possible for unauthenticated attackers to create a new Administrator-level WordPress account by supplying wp_capabilities[administrator]=1 alongside standard registration fields. The nonce required by the endpoint is publicly emitted into the front_end_data JavaScript object on every front-end page via wp_enqueue_scripts, making it trivially obtainable by any unauthenticated visitor before submitting the malicious request.
Text from CVE List
Affected versions 1
- SimpleForm – Form Maker to Chat Apps with Quiz, Poll and Multi Lead Notificationsaffected: all versions through 3.10.0CVE List
References 7
- wordfence.com/threat-intel/vulnerabilities/id/b2b973fe-1209-43dc-b2a3-74086b12fe97?source=cveReferencevia CVE List
- plugins.trac.wordpress.org/browser/simple-form/tags/3.10.0/app/Integrations/WordPressAuth.php#L291Referencevia CVE List
- plugins.trac.wordpress.org/browser/simple-form/tags/3.10.0/app/Integrations/WordPressAuth.php#L184Referencevia CVE List
- plugins.trac.wordpress.org/browser/simple-form/tags/3.10.0/app/Integrations/WordPressAuth.php#L32Referencevia CVE List
- plugins.trac.wordpress.org/browser/simple-form/tags/3.10.0/app/Assets.php#L265Referencevia CVE List
- plugins.svn.wordpress.org/simple-form/trunk/Referencevia CVE List
- plugins.trac.wordpress.org/changeset/3726513/simple-form/trunk/app/Integrations/WordPressAuth.phpReferencevia CVE List