Atomic Edge analysis of CVE-2025-69359:
The vulnerability is a Missing Authorization flaw in the Creator LMS WordPress plugin, affecting versions up to and including 1.1.12. It allows unauthenticated attackers to modify critical plugin settings via a publicly exposed REST API endpoint. The CVSS score of 5.3 reflects a medium severity impact.
Atomic Edge research identifies the root cause in the `creatorlms/includes/Rest/V1/SettingsController.php` file. The `update_items` function (line 210) was registered with a `permission_callback` pointing to `get_items_permissions_check` (line 48). This callback only required the `edit_posts` capability, which is typically held by low-privileged users like subscribers and contributors. More critically, the REST route registration lacked a proper capability check for unauthenticated requests, effectively allowing any site visitor to invoke the endpoint.
Exploitation involves sending a POST request to the WordPress REST API endpoint `/wp-json/creatorlms/v1/settings`. An attacker can craft a JSON payload containing any arbitrary `option_name` and `option_value` key-value pairs. The vulnerable `update_items` function would pass these directly to WordPress’s `update_option` function. This allows an attacker to modify any WordPress option the web server can write, not just those intended for the plugin.
The patch in version 1.1.13 implements two key fixes. First, it changes the `permission_callback` for the `update_items` route from `get_items_permissions_check` to `update_items_permissions_check` (line 48). Second, it updates both permission check functions to require the `manage_options` capability (lines 489 and 501), which is exclusive to administrators. The patch also introduces an `is_valid_option_key` validation function (line 228) that restricts updates to a predefined allowlist of plugin-specific options, preventing arbitrary option overwrites.
Successful exploitation grants an unauthenticated attacker the ability to modify any WordPress option stored in the database. This can lead to site takeover by enabling user registration, changing administrator emails, or injecting malicious scripts. Attackers could also disrupt site functionality by altering critical paths, payment gateways, or security settings. The impact is equivalent to obtaining administrative privilege over the plugin’s configuration and the broader WordPress site.







