Summary
CVE-2026-15354 is a critical unauthenticated privilege escalation vulnerability in the ACPT (Premium) WordPress plugin, developed by Mauro Cassani. The flaw resides in the plugin’s submit() function and allows an unauthenticated attacker to modify arbitrary WordPress user accounts — including administrator accounts — via public-facing forms that accept anonymous submissions. It carries a CVSS v3.1 score of 9.8 (Critical) and affects all plugin versions up to and including 2.0.66.
Technical details
- Root cause: The
submit()function fails to perform proper authorization checks before passing attacker-controlled data to the WordPress corewp_update_user()function. - Trigger conditions: The plugin must expose a public-facing form that permits anonymous (unauthenticated) submissions; an attacker manipulates the target user ID parameter within the submitted data.
- Attack vector: Network-based, no authentication or user interaction required (AV:N/AC:L/PR:N/UI:N).
- Impact: By supplying an arbitrary user ID, an attacker can overwrite that user’s email address and password — including for administrator accounts — resulting in full account takeover and complete compromise of confidentiality, integrity, and availability of the affected WordPress site.
Affected software
- ACPT (Premium) WordPress plugin, versions up to and including 2.0.66
Severity
- CVSS v3.1 Base Score: 9.8 (Critical)
- Vector:
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Mitigation and recommended actions
- Immediate: Upgrade the ACPT (Premium) plugin to a version beyond 2.0.66 as soon as a fixed release is available from the vendor; consult the vendor’s official changelog for the specific patched version number.
- If no patch is available: Disable or remove any public-facing forms built with ACPT that permit anonymous submissions until a fix is applied, or restrict access to those forms at the network/WAF layer to block unauthenticated requests that include user-ID or account-update parameters.
How IONIX identifies potentially affected assets
IONIX matches the following signal against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Raw response body:
/wp-content/plugins/advanced-custom-post-type/

