Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Practical exploitation needs a Subscriber account to read the gating nonce, so PR:L not PR:N; network vector, low complexity, no UI, high integrity/availability impact and no confidentiality loss.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
Lifecycle Timeline
2DescriptionCVE.org
The Solace Extra plugin for WordPress is vulnerable to unauthorized modification and loss of data due to a missing capability check on the import_zip() function in versions up to, and including, 1.6.0. The handler is registered on both wp_ajax_action-import-zip and wp_ajax_nopriv_action-import-zip and only verifies the 'ajax-nonce' nonce, which is emitted on every admin page via wp_localize_script (unrestricted admin_enqueue_scripts hook) and is therefore accessible to any authenticated user including Subscribers. This makes it possible for authenticated attackers, with Subscriber-level access and above, to wipe navigation menus, sidebar widgets (via update_option('sidebars_widgets', array())), all theme mods (via remove_theme_mods()), and Elementor templates, as well as trigger arbitrary demo-content imports.
Articles & Coverage 1
AnalysisAI
Unauthorized data destruction in the Solace Extra WordPress plugin (versions through 1.6.0) lets low-privileged authenticated users invoke the import_zip() AJAX handler, which lacks a capability check. Because the handler trusts only the site-wide 'ajax-nonce' that WordPress emits on every admin page to any logged-in user, Subscriber-level accounts can wipe navigation menus, sidebar widgets, all theme mods, and Elementor templates, and force arbitrary demo-content imports. There is no public exploit identified at time of analysis and the flaw is not in CISA KEV, but the trivial exploitation path and 9.1 CVSS make it a high-priority integrity/availability issue.
Technical ContextAI
The affected component is a WordPress plugin (cpe:2.3:a:solacewp:solace_extra) that ships a demo/site-import feature. Its import_zip() function is hooked to both wp_ajax_action-import-zip and wp_ajax_nopriv_action-import-zip, exposing it to logged-in and (nominally) logged-out request flows. The root cause is CWE-862 Missing Authorization: the handler performs a nonce check but no current_user_can()/capability check. Critically, the 'ajax-nonce' it validates is generated via wp_localize_script on an unrestricted admin_enqueue_scripts hook, so the nonce is rendered into admin pages for every authenticated role, including Subscriber. A valid nonce therefore does not represent authorization to perform destructive site operations such as update_option('sidebars_widgets', array()) and remove_theme_mods(). This is a common WordPress AJAX anti-pattern where nonce verification is mistaken for a permission gate.
RemediationAI
Upstream fix available (WordPress.org plugin trac changeset 3627961, https://plugins.trac.wordpress.org/changeset?reponame=&old=3627961%40solace-extra&new=3627961%40solace-extra); a released patched version number was not provided in the input and is not independently confirmed, so update to the latest available Solace Extra release above 1.6.0 and verify the changelog references this capability check. Consult the Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/4e427c4e-3e27-49e3-ba64-6241b430d5d8) for fixed-version details. Until patched, apply compensating controls: disable open user registration or set the default role such that untrusted signups cannot be created (trade-off: blocks legitimate self-service registration), and consider deactivating the Solace Extra plugin if the demo-import feature is not in active use (trade-off: loses plugin functionality). A WAF rule blocking POST requests to admin-ajax.php with action=action-import-zip from non-administrator sessions is a stopgap (trade-off: may break legitimate admin-driven imports and requires session/role awareness). Take a full backup of the database and options table before remediation given the destructive nature of the flaw.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
Remote code execution in the WP Query Console WordPress plugin (versions up to and including 1.0) by Ajit Bohra allows u
Same weakness CWE-862 – Missing Authorization
View allSame technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-59897
GHSA-xw86-2976-mc83