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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
hornero Clean Login
Default version status: unaffected
0 to ≤ 1.20.1affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/83a8c282-8552-420d-842f-acd235ad61b8?source=cve ↗
- https://plugins.trac.wordpress.org/browser/clean-login/tags/1.20.1/include/shortcodes.php#L262 ↗
- https://plugins.trac.wordpress.org/browser/clean-login/tags/1.20.1/include/shortcodes.php#L14 ↗
- https://plugins.trac.wordpress.org/changeset/3768058/clean-login ↗
- https://plugins.trac.wordpress.org/changeset/3768058/clean-login/trunk/include/shortcodes.php ↗