Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Subscriber-level user
-
DeliveryStore backslash-quote newline payload in Biographical Info
-
ExploitAdministrator exports and re-imports users CSV
-
ExecutionMismatched escape parsing splits field into extra row
-
Impacthf_create_customer() provisions attacker-controlled Administrator account
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding for downstream
|
| Exploitation Conditions | Requires an authenticated account at Subscriber level or above (PR:L) so the attacker can write a crafted value into the Subscriber's Biographical Info field - specifically a backslash-quote sequence followed by a newline that exploits the mismatch between fputcsv() (backslash escape) in class-csvwriter.php and fgetcsv() (double-quote escape) in class-csvreader.php. Exploitation does NOT complete on its own: it additionally requires a privileged operator to run the plugin's own export workflow and then re-import the generated CSV, at which point the injected second row is processed by hf_create_customer(). The main limiting factors are therefore (1) attacker must obtain at least Subscriber access, and (2) an administrator must actually perform the export-then-re-import cycle on the affected data; sites that never round-trip exported user data back through import are not exposed. |
| Impact | This is a genuine but conditional privilege-escalation issue rather than a drop-everything emergency. The CVSS 3.1 base score of 8.8 (AV:N/AC:L/PR:L/UI:N) reflects full confidentiality, integrity, and availability loss because successful exploitation yields an attacker-controlled Administrator account. However, several decision signals temper the raw score: no EPSS probability is supplied, the CVE is not on CISA KEV, and no public exploit is identified in the input, so this is not confirmed in-the-wild activity. The vuln.today decision label is 'this_week' (not act_now/emergency), consistent with a serious-but-not-actively-exploited flaw. The most important nuance is a likely gap in the provided CVSS vector: it lists UI:N, yet the described mechanism only triggers when a privileged operator runs the plugin's export AND then re-import workflow over the file containing the malicious data - that is effectively privileged user interaction, which materially narrows real-world exploitability versus a pure remote-unauthenticated bug. Net: a real, patch-this-week priority for sites running this plugin with open or low-trust registration, but not a wormable mass-exploitation scenario on current evidence. |
| Exploit ScenarioDerived | An attacker who holds (or self-registers for) a Subscriber account stores a crafted backslash-quote-plus-newline sequence in their Biographical Info field. Later, when an administrator uses the plugin to export users to CSV and then re-imports that CSV, the escape-character mismatch between the writer and reader splits the field into a second row, which hf_create_customer() processes as a brand-new account with attacker-chosen login, password, email, and the Administrator role. No public exploit code is identified at time of analysis, but the description documents the trigger precisely. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Privilege escalation in the WebToffee 'Export and Import Users and Customers' plugin for WordPress (all versions up to and including 2.7.5) lets any authenticated user with Subscriber-level access or above plant a crafted value in the Biographical Info field that is later reinterpreted as a second CSV row during import, creating a brand-new account whose login, password, e-mail and role are fully attacker-chosen - including Administrator. Exploitation is conditional rather than automatic: the payload only detonates when a privileged operator runs the plugin's own export and then re-imports the generated file, so sites that never round-trip exported user data back through the importer are not exposed. No public exploit code or confirmed in-the-wild activity was identified at the time of analysis, but the 8.8 severity and the low Subscriber-level prerequisite make this a this-week remediation priority for any site that uses the plugin's export/import cycle.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - the vendor's public fix is changeset 3741112 at https://plugins.trac.wordpress.org/changeset/3741112/users-customers-import-export-for-wp-woocommerce, so check the plugin's changelog for the first tagged release built on that changeset and upgrade to it rather than remaining on 2.7.5 or earlier. Because exploitation is not autonomous - the independent assessment confirms it needs both a Subscriber-level account and an administrator to run the export and then re-import the resulting file - the highest-value compensating control is to stop round-tripping user exports through the plugin's importer until a patched build is confirmed installed; sites that never feed exported user data back into the import workflow are not exposed. Where the export/import cycle is business-critical, reduce the attack surface by limiting who can hold Subscriber-or-higher accounts on the site (self-registration and comment-based account creation included, since the crafted payload lives in Biographical Info), and inspect the resulting user list for unexpected Administrator accounts immediately after any import. Restricting the import screen to a short list of trusted administrators and auditing every account created by hf_create_customer() after a bulk import adds detection without changing the vulnerable parsing itself, so it is a stopgap, not a substitute for the fixed build.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is a CSV dialect mismatch between two halves of the same plugin workflow (CWE-116, improper encoding/escaping of output). The exporter in admin/classes/class-csvwriter.php (around line 154) writes cells with PHP's fputcsv(), which by default uses a backslash (\) as the escape character, while the importer in admin/classes/class-csvreader.php (around line 197) reads the same file with fgetcsv() configured with a double-quote (") as its escape character. Because the two functions disagree about what an escape character means, a value containing a backslash-quote sequence followed by a newline is serialized as one quoted field by the writer but re-tokenized as two separate rows by the reader. The user export path (admin/modules/user/export/export.php, around line 560) is what places the Subscriber's Biographical Info into that cell, and the user import path (admin/modules/user/import/import.php, around line 490) hands the injected second row to hf_create_customer(), which treats it as a legitimate new user record with attacker-supplied user_login, user_pass, user_email and role. WordPress itself behaves correctly here; the defect is entirely in the plugin's choice of inconsistent escape parameters, so any extension that reuses these classes inherits the same parsing ambiguity.
Know when Export And Import Users And Customers gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attacker needs only Subscriber access (PR:L) over the network (AV:N), but a privileged operator must run the export/re-import workflow for the payload to fire, so UI:R; creating an admin yields C:H/I:H/A:H.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Export and Import Users and Customers plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 2.7.5 via the plugin's own export and re-import workflow. The vulnerability exists because of a CSV escape-character mismatch between the exporter and the importer: class-csvwriter.php writes cells with fputcsv() using PHP's default backslash (\) escape character, while class-csvreader.php parses the same file with fgetcsv() using a double-quote (") as the escape character. As a result, a crafted value stored in a Subscriber's Biographical Info field - containing a backslash-quote sequence followed by a newline - is written as a single quoted CSV field but parsed back as two separate rows on import. The injected second row is then processed by hf_create_customer() as a new user record whose user_login, user_pass, user_email, and role are entirely attacker-controlled, allowing the creation of an arbitrary Administrator account. This makes it possible for authenticated attackers with Subscriber-level access and above to escalate their privileges to Administrator.
Executive ViewAI
CVE-2026-104368 is a high-severity privilege escalation in the WebToffee Export and Import Users and Customers plugin for WordPress (versions up to 2.7.5). Any authenticated user with Subscriber-level access can inject a crafted value into the Biographical Info field that, when a privileged operator later exports and re-imports user data, creates a new account with attacker-chosen credentials, including Administrator. This puts all WordPress sites using the plugin at risk of full compromise, making it a priority for leadership to address within the week.
No vendor-released patch identified at time of analysis. Interim mitigations: disable the plugin on all sites where it is not essential; restrict use of the export/import feature to trusted administrators and avoid re-importing exported user data unless absolutely necessary; audit Subscriber-level accounts and remove any that are unnecessary; monitor for unusual account creation or privilege changes.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-113707
GHSA-9339-975x-grvq
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB