Import and export users and customers <= 2.0.8 - Authenticated (Subscriber+) Privilege Escalation via Multisite Capability Meta Fields
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: total
Summary
The Import and export users and customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to and including 2.0.8 via the `save_extra_user_profile_fields()` function. This is due to an incomplete blocklist that correctly restricts capability meta keys for the primary site (e.g., `wp_capabilities`, `wp_user_level`) but fails to block the equivalent meta keys for any other subsite in a WordPress Multisite network (e.g., `wp_2_capabilities`, `wp_2_user_level`), allowing these keys to pass the `in_array()` check and be written directly to user meta via `update_user_meta()`. This makes it possible for authenticated attackers, with Subscriber-level access and above, to escalate their privileges to Administrator on any subsite within the Multisite network by submitting a crafted profile update to `/wp-admin/profile.php`. Exploitation requires that an administrator has previously imported a CSV file containing multisite-prefixed capability column headers and has enabled the 'Show fields in profile?' option, which causes those keys to be stored in the `acui_columns` option and exposed as editable fields on the user profile page.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: total
- Record last updated
Affected versions
- carazo Import and export users and customers
through 2.0.8
References 14
plugins.trac.wordpress.org
- browser/import-users-from-csv-with-meta/trunk/classes/columns.php#L221
- browser/import-users-from-csv-with-meta/tags/2.0.8/classes/columns.php#L221
- browser/import-users-from-csv-with-meta/trunk/classes/columns.php#L198
- browser/import-users-from-csv-with-meta/tags/2.0.8/classes/columns.php#L198
- browser/import-users-from-csv-with-meta/trunk/classes/helper.php#L150
- browser/import-users-from-csv-with-meta/tags/2.0.8/classes/helper.php#L150
- browser/import-users-from-csv-with-meta/trunk/classes/multisite.php#L21
- browser/import-users-from-csv-with-meta/tags/2.0.8/classes/multisite.php#L21
- browser/import-users-from-csv-with-meta/tags/2.0.6/classes/columns.php#L221
- browser/import-users-from-csv-with-meta/tags/2.0.6/classes/columns.php#L198
- browser/import-users-from-csv-with-meta/tags/2.0.6/classes/helper.php#L150
- browser/import-users-from-csv-with-meta/tags/2.0.6/classes/multisite.php#L21
- changeset/3515646