CVE-2026-3568: MStore API <= 4.18.3 - Authenticated (Subscriber+) Insecure Direct Object Reference to Arbitrary User Meta Update
The MStore API plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 4.18.3. This is due to the updateuserprofile() function in controllers/flutter-user.php processing the 'metadata' JSON parameter without any allowlist, blocklist, or validation of meta keys. The function reads raw JSON from php://input (line 1012), decodes it (line 1013), authenticates the user via cookie validation (line 1015), and then directly iterates over the user-supplied metadata array passing arbitrary keys and values to updateusermeta() (line 1080) with no sanitization or restrictions. This makes it possible for authenticated attackers, with Subscriber-level access and above, to modify arbitrary user meta fields on their own accounts, including sensitive fields like wpuserlevel (to escalate to administrator-level legacy checks), plugin-specific authorization flags (e.g., wpufuseractive, aiowpsaccountstatus), and billing/profile fields with unsanitized values (potentially enabling Stored XSS in admin contexts). Note that wpcapabilities cannot be directly exploited this way because it requires a serialized array value, but wpuserlevel (a simple integer) and numerous plugin-specific meta keys are exploitable.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
WordPress MStore API pluginto a version that resolves this vulnerability.Fixed in 4.18.3 - Configuration
In the controllers/flutter-user.php update_user_profile() handling of the 'meta_data' JSON parameter, add an allowlist/blocklist and validation for permitted user meta keys and values. Do not pass arbitrary user-supplied meta keys/values directly to update_user_meta().
WordPress MStore API plugin (update_user_profile in controllers/flutter-user.php) meta_data allowlist/validation = Enforce allowlisting and validation of meta keys and values before calling update_user_meta()
Event History
Frequently Asked Questions
What is the severity of CVE-2026-3568?
CVE-2026-3568 is considered a high-severity vulnerability due to its potential for unauthorized user meta updates.
How do I fix CVE-2026-3568?
To fix CVE-2026-3568, update the MStore API plugin to version 4.18.4 or later.
What systems are affected by CVE-2026-3568?
CVE-2026-3568 affects the MStore API plugin for WordPress in versions up to and including 4.18.3.
What kind of vulnerability is CVE-2026-3568?
CVE-2026-3568 is an Insecure Direct Object Reference (IDOR) vulnerability.
Can CVE-2026-3568 be exploited by an unauthenticated user?
No, CVE-2026-3568 requires the attacker to be an authenticated user with Subscriber+ privileges.