# CVE-2026-120554: Import and export users and customers <= 2.5.11 - Authenticated (Custom+) Privilege Escalation via Non-Atomic Cron Settings Save

Status: published. Published: 2026-11-04. Updated: 2026-11-04.

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.

## Remediation

No remediation reported in collected sources

## Affected products and versions

- carazo / Import and export users and customers: ≥ 0; ≤ 2.5.11 (affected, semver). Source: CNA: Wordfence

## Severity and prioritization

- CVSS 3.1: 8.8 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: CNA: Wordfence

- CVSS 3.1: 8.8 (high); CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; source: NVD: security@wordfence.com

- CISA KEV: No listing in collected sources

- EPSS: Not available

- SSVC: Not available

- Weaknesses: CWE-863

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://www.wordfence.com/threat-intel/vulnerabilities/id/4db0991f-fc89-411b-b0df-1a11c9ddec1f?source=cve (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L101 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L49 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L166 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L1104 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L909 (CNA: Wordfence)

- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta (CNA: Wordfence)

- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta/trunk/classes/cron.php (CNA: Wordfence)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L101 (security@wordfence.com)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L166 (security@wordfence.com)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/cron.php#L49 (security@wordfence.com)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L1104 (security@wordfence.com)

- https://plugins.trac.wordpress.org/browser/import-users-from-csv-with-meta/tags/2.5.7/classes/import.php#L909 (security@wordfence.com)

- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta (security@wordfence.com)

- https://plugins.trac.wordpress.org/changeset/3775652/import-users-from-csv-with-meta/trunk/classes/cron.php (security@wordfence.com)

- https://www.wordfence.com/threat-intel/vulnerabilities/id/4db0991f-fc89-411b-b0df-1a11c9ddec1f?source=cve (security@wordfence.com)

## Provenance

- CNA: Wordfence: https://www.cve.org/CVERecord?id=CVE-2026-120554; retrieved 2026-11-04; source updated 2026-11-04

- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-120554; retrieved 2026-11-04; source updated 2026-11-04

Revision: 9c1c13f471102c609e035d04230c09bfeb236739ae8fd5bcbe60228db6350fcf

Canonical: https://y2.dev/cve/CVE-2026-120554

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.