Atomic Edge analysis of CVE-2025-68999:
This vulnerability is an authenticated SQL injection in the Happy Addons for Elementor WordPress plugin, affecting versions up to and including 3.20.4. The flaw resides in the post duplication feature, allowing contributors and higher-privileged users to inject arbitrary SQL commands.
Atomic Edge research identified the root cause in the `clone-handler.php` file, specifically within the `ha_duplicate_post_as_draft` function. The vulnerable code constructs an SQL `INSERT` query by directly concatenating unsanitized user-controlled data into the query string. Lines 205-212 show the original flawed logic: the `$entry->meta_key` and `$entry->meta_value` variables are embedded into the SQL statement using string interpolation without proper escaping or parameterization. The `wp_slash()` function applied only to `meta_value` is insufficient to prevent SQL injection.
Exploitation requires an authenticated user with at least contributor-level permissions. An attacker would send a crafted POST request to the WordPress AJAX endpoint `/wp-admin/admin-ajax.php` with the `action` parameter set to `ha_duplicate_post_as_draft`. The attack payload would be placed within the `meta_key` or `meta_value` fields of the serialized `entries` data structure sent in the request. This payload would be concatenated into the SQL query executed by the `$wpdb->query()` call on line 212 of the vulnerable version.
The patch in version 3.20.6 completely replaces the vulnerable SQL construction logic. The developers removed the manual `INSERT` query (lines 203-212) and replaced it with a loop that calls `update_post_meta()` for each entry (line 227). This function uses WordPress’s built-in prepared statements and database abstraction layer, which properly escapes and parameterizes all input, eliminating the SQL injection vector. The commented-out code shows the developers also considered using `$wpdb->insert()` with format specifiers as an alternative safe method.
Successful exploitation allows attackers to extract sensitive information from the WordPress database. This includes hashed user passwords, API keys, private posts, and personally identifiable information. Attackers could also potentially modify database contents, though the impact is primarily information disclosure due to the nature of the `INSERT` operation being targeted.







