Clean Login <= 1.20.1 - Missing Authorization to Authenticated (Contributor+) Arbitrary Clean-Login Option Update via 'save_post' Hook
Impact
The Clean Login plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 1.20.1 due to a missing capability check on the CleanLogin_Shortcode::get_pages_with_shortcodes() function hooked to the save_post action. This makes it possible for authenticated attackers, with Contributor-level access and above, to overwrite the plugin's cl_login_url/cl_login_id/cl_register_url/cl_register_id/cl_restore_url/cl_restore_id/cl_edit_url/cl_edit_id/cl_change_password_url/cl_change_password_id options with the ID and permalink of a post they themselves authored —…
Source excerpt · WordfenceAffected packages
Affected products
Vendor version evidence. Product records are separate from automatic dependency matching.
hornero · Clean Login
Other versions: unaffected
| Version / range | Source status |
|---|---|
| 0 through 1.20.1 (inclusive) | affected |
Original source description
The Clean Login plugin for WordPress is vulnerable to Missing Authorization in versions up to, and including, 1.20.1 due to a missing capability check on the CleanLogin_Shortcode::get_pages_with_shortcodes() function hooked to the save_post action. This makes it possible for authenticated attackers, with Contributor-level access and above, to overwrite the plugin's cl_login_url/cl_login_id/cl_register_url/cl_register_id/cl_restore_url/cl_restore_id/cl_edit_url/cl_edit_id/cl_change_password_url/cl_change_password_id options with the ID and permalink of a post they themselves authored — simply by embedding the plugin's shortcodes in their own post content.
References
- Security advisory www.wordfence.com/threat-intel/vulnerabilities/id/83a8c282-8552-420d-842f-acd235ad61b8
- Source reference plugins.trac.wordpress.org/browser/clean-login/tags/1.20.1/include/shortcodes.php
- Source reference plugins.trac.wordpress.org/browser/clean-login/tags/1.20.1/include/shortcodes.php
- Patch plugins.trac.wordpress.org/changeset/3768058/clean-login
- Patch plugins.trac.wordpress.org/changeset/3768058/clean-login/trunk/include/shortcodes.php