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.
Published: 2026-10-28
Score: 4.3 Medium
EPSS: n/a
KEV: No
Impact: Authorization bypass that lets authenticated contributors modify plugin login options
Action: Patch
AI Analysis

Impact

The Clean Login plugin performs a missing capability check in the CleanLogin_Shortcode::get_pages_with_shortcodes() function, which is triggered by the save_post action. Because this check is absent, users who have Contributor or higher roles can insert the plugin's shortcodes into a post they author. Each time the post is saved, the plugin’s internal URLs for login, registration, restoration and password change are overwritten to point to the attacker’s post, effectively redirecting visitors to an attacker-controlled location. This allows a contributor to execute phishing or defacement attacks hidden behind legitimate plugin URLs, compromising user trust and potentially exposing sensitive user credentials. The flaw is a classic Missing Authorization (CWE‑862) vulnerability.

Affected Systems

The vulnerability impacts the Clean Login WordPress plugin by hornero, affecting all released versions up to and including 1.20.1. Any WordPress site that has installed Clean Login 1.20.1 or any earlier snapshot is vulnerable.

Risk and Exploitability

The CVSS score is 4.3, indicating moderate severity. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires an attacker to already hold Contributor-level or higher privileges on the site, meaning the attack is limited to authenticated users with editing rights. While the attack vector is not remote network based, insiders or compromised contributor accounts can carry out the exploit, potentially leading to phishing or defacement of site content.

Generated by OpenCVE AI on October 28, 2026 at 09:07 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Clean Login plugin to a version newer than 1.20.1 that fixes the missing capability check.
  • If an upgrade is not immediately possible, deactivate or remove the plugin to eliminate the vulnerable code path.
  • Restrict the Contributor role so that contributors cannot edit posts containing plugin shortcodes or disable the save_post hook for that role to prevent accidental option overwrites.

Generated by OpenCVE AI on October 28, 2026 at 09:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 07:00:00 +0000

Type Values Removed Values Added
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.
Title Clean Login <= 1.20.1 - Missing Authorization to Authenticated (Contributor+) Arbitrary Clean-Login Option Update via 'save_post' Hook
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 4.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-28T06:45:15.107Z

Reserved: 2026-10-26T16:19:47.437Z

Link: CVE-2026-116610

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T07:16:47.450

Modified: 2026-10-28T07:16:47.450

Link: CVE-2026-116610

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T09:15:15Z

Weaknesses