Description
The Import and export users and customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.5.11 This is due to a non-atomic multi-option write sequence in the `ACUI_Cron::save_settings()` function, which persists `acui_cron_activated`, `acui_cron_configured_by`, `acui_cron_user_id`, and `acui_cron_path_to_file` before reaching the authorization gate that calls `wp_die()` when a non-promoter submits a role. This makes it possible for authenticated attackers holding a custom delegated role with `create_users` but without `promote_users` or `edit_users` to escalate their privileges to Administrator, provided a prior administrator cron-tab save exists and no successful save intervenes before the next unattended cron tick processes the attacker's repointed CSV file.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
carazo Import and export users and customers
Default version status: unaffected
0 to ≤ 2.5.11affected
References
- https://www.wordfence.com/threat-intel/vulnerabilities/id/4db0991f-fc89-411b-b0df-1a11c9ddec1f?source=cve ↗
- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L101 ↗
- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L49 ↗
- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L166 ↗
- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L1104 ↗
- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L909 ↗
- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta ↗
- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta/trunk/classes/cron.php ↗