CVE-2026-10570: Stored XSS in Sympl Repeater for ACF and Elementor WordPress Plugin
The Sympl Repeater for ACF and Elementor plugin for WordPress contains a stored cross-site scripting (XSS) vulnerability that allows authenticated authors and higher-privileged users to inject malicious scripts into pages. When a page containing an affected repeater field is viewed by any site visitor, the injected script executes in their browser. The vulnerability stems from the plugin's failure to properly escape data when rendering ACF field values in Elementor, leaving user input exposed to script injection.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 6.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-08 / 2026-07-08
NVD description (verbatim)
The Sympl Repeater for ACF and Elementor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via ACF repeater field values in all versions up to, and including, 2.3. This is due to insufficient input sanitization and output escaping in the symp_arfe_replace_content() function, which uses str_replace() to substitute raw ACF field values (retrieved via get_field()) directly into Elementor-rendered HTML without any escaping. This makes it possible for authenticated attackers, with Author-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-10570 is a stored XSS vulnerability in the symp_arfe_replace_content() function within the Sympl Repeater for ACF and Elementor plugin. The function uses str_replace() to substitute raw ACF field values retrieved via get_field() directly into Elementor-rendered HTML without output escaping. ACF's get_field() returns unescaped data by default, and the plugin makes no attempt to sanitize or escape this data before inserting it into the DOM. This allows authenticated users with Author role or above to craft malicious payloads in repeater field values that persist in the database and execute in the browsers of all subsequent visitors to the affected page. The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation).
Business impact
Compromised WordPress sites become vectors for malware distribution, credential theft, and session hijacking. Attackers with author privileges can silently inject keyloggers or redirect users to phishing pages without detection by most site administrators. If the site processes sensitive data or handles customer information, the injected scripts can capture and exfiltrate that data. Trust erosion among site visitors is significant—particularly for e-commerce or membership sites where user confidence is critical. Remediation delays multiply the exposure window and potential victim count.
Affected systems
The Sympl Repeater for ACF and Elementor plugin is affected in all versions up to and including 2.3. WordPress installations running this plugin are at risk if any user with Author role or above (including Contributors with elevated permissions) has access to create or edit pages containing ACF repeater fields. Multisite WordPress networks may face broader attack surface if the plugin is network-activated or if multiple sites use it.
Exploitability
Exploitation requires authentication and Author-level privileges or higher, which moderately restricts the attack surface compared to unauthenticated vulnerabilities. However, many WordPress sites operate with loose contributor management—freelancers, agency staff, and contractors often retain author access after engagements end. Once injected, the malicious payload is stored and automatically executes for every visitor without additional attacker interaction. This makes the vulnerability a persistent, scalable attack vector with high confidence of success against any site user.
Remediation
Update the Sympl Repeater for ACF and Elementor plugin to a patched version beyond 2.3 as soon as a fix is released by the vendor. Verify against the official plugin repository or vendor advisory for the specific version number. In the interim, disable or restrict access to ACF repeater fields in Elementor for non-administrative users, or temporarily deactivate the plugin if it is not critical to site operations. Audit existing repeater field values in the database for signs of suspicious script tags or JavaScript patterns.
Patch guidance
Monitor the Sympl Repeater for ACF and Elementor plugin repository and vendor announcements for a security update addressing this vulnerability. Test the patched version in a staging environment before production deployment to confirm compatibility with your theme and other plugins. The fix should include proper output escaping (e.g., using wp_kses_post() or esc_html() as appropriate for the context) in the symp_arfe_replace_content() function and sanitization of ACF field values before insertion into HTML. Verify the patch against the official CVE advisory before applying.
Detection guidance
Search your WordPress database for repeater field entries containing script tags, event handlers (onload, onerror, onclick), or encoded JavaScript patterns. Monitor user activity logs for author-level edits to pages using the Sympl Repeater plugin, especially from unfamiliar or recently created user accounts. Deploy a Web Application Firewall (WAF) rule to detect and log attempts to POST or PUT data containing script tags into ACF repeater fields. On the client side, check browser console for unexpected script execution errors or CSP violations when viewing pages with repeater fields. If you operate a security monitoring service, flag any pages where repeater field content differs between database and rendered output.
Why prioritize this
This vulnerability warrants prompt but not emergency remediation. The CVSS 6.4 MEDIUM score reflects the authentication requirement, which meaningfully reduces risk compared to unauthenticated XSS. However, the stored nature of the attack, combined with the prevalence of WordPress sites with loose permission management, creates real operational risk. The vulnerability is not listed in the CISA KEV catalog, suggesting no active weaponized exploits have been publicly disclosed—prioritize it as a high-priority patch window task rather than an incident response trigger. Organizations with strict author permission controls can defer slightly; those with contributor-heavy workflows should treat it as urgent.
Risk score, explained
CVSS 3.1 score of 6.4 (MEDIUM) reflects: AV:N (network-accessible plugin affecting all site visitors), AC:L (no special conditions required for exploitation), PR:L (requires authenticated Author role or above, a meaningful but not extreme barrier), UI:N (no user interaction needed once payload is injected), S:C (scope change—injected script affects other users' sessions), C:L (confidentiality impact via session theft or credential capture), I:L (integrity impact via page defacement or malware injection), A:N (no availability impact). The authentication requirement prevents a higher score; the stored XSS persistence and cross-user impact prevent a lower one.
Frequently asked questions
Can an attacker exploit this vulnerability if they only have Subscriber or Contributor role?
No. The vulnerability requires Author role or above. However, Contributor accounts can be escalated by site administrators or compromised alongside author accounts. Verify that only trusted personnel retain author privileges and audit inactive author accounts for removal.
Will updating my theme or other plugins fix this vulnerability?
No. The vulnerability is specific to the Sympl Repeater for ACF and Elementor plugin itself. You must update that plugin specifically. Theme updates and other plugin updates will not address this issue.
How do I know if an attacker has already exploited this vulnerability on my site?
Search your WordPress database (wp_postmeta and wp_posts tables) for repeater field data containing suspicious HTML or JavaScript. Enable WordPress debug logging and review recent page edits in the Activity Log plugin (if installed). Check for unexpected traffic spikes or user complaints about strange behavior on specific pages. If you suspect compromise, consider hiring a security professional to conduct a forensic review.
If I deactivate the plugin, will the injected scripts persist?
Deactivating the plugin will prevent new injections and may prevent the vulnerable function from executing on previously injected pages. However, the malicious data will remain in the database. Do not delete the plugin without first backing up your database and auditing all repeater field values. If you must remove the plugin, export any legitimate repeater field data first and clean the database before reactivation of any replacement solution.
This analysis is provided for informational purposes to help security teams understand and manage this vulnerability. SEC.co does not endorse any specific remediation approach and recommends consulting your vendor advisory and conducting internal testing before applying patches. Patch version numbers and availability dates should be verified against the official Sympl Repeater plugin repository. Organizations should maintain their own threat modeling and risk assessment processes independent of this summary. No warranty or guarantee of accuracy is provided, and this content may be updated as new information becomes available. Source: NVD (public-domain), retrieved 2026-08-16. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide