Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify target WordPress site running CURCY plugin
-
DeliverySend unauthenticated POST to vulnerable cache.php action
-
ExploitSupply arbitrary shortcode name as unsanitized parameter
-
ExecutionWordPress do_shortcode() executes attacker-chosen shortcode
-
ImpactAttacker receives rendered shortcode output containing sensitive data or injected content
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Code injection prevention, sandbox exec
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The site must be running WordPress with WooCommerce and the CURCY - Multi Currency for WooCommerce plugin installed and active in version 2.2.14 or earlier. No authentication is required per the Wordfence advisory, meaning the vulnerable action is accessible to any remote party who can send HTTP requests to the WordPress site - this contradicts the PR:L designation in the NVD CVSS vector, which should be verified against vendor confirmation. The practical impact is bounded by which shortcodes are registered on the target installation: a shortcode that outputs only static HTML provides minimal value to an attacker, while one that renders account data, pricing rules, or protected content substantially increases the risk. There is no reported requirement for a specific server configuration, non-default WordPress setting, or particular PHP version beyond the plugin being active. |
| Impact | The official NVD CVSS score of 5.4 (Medium) uses PR:L, implying low-privilege authentication is required, but the Wordfence description explicitly states 'unauthenticated attackers' can exploit this - a direct conflict that significantly affects real-world risk assessment. If the unauthenticated claim from Wordfence (the reporting researcher with direct code access) is accurate, the effective attack complexity is AV:N/AC:L/PR:N, which would correspond to a higher exploitability score. EPSS data is not provided, but the zero-barrier entry point on a publicly-accessible WordPress e-commerce site, combined with low attack complexity, makes this opportunistically exploitable at scale if automated. No active exploitation is confirmed (not in CISA KEV) and no POC is publicly known at time of analysis. Real-world impact is bounded by what shortcodes the target site has registered - sites with shortcodes exposing PII, order data, or admin-only content face higher impact than those with only basic display shortcodes. SSVC framing: exploitation is not yet confirmed, the attack is automatable, and technical impact is partial - placing this in a 'track and patch promptly' tier rather than emergency response. |
| Exploit ScenarioDerived | An unauthenticated attacker sends a crafted HTTP POST request to the WordPress AJAX endpoint, supplying a shortcode name (such as one registered by a membership or e-commerce plugin) as the unsanitized parameter in the CURCY plugin's cache action. The plugin passes the value directly to do_shortcode(), which executes the named shortcode and returns its output to the attacker - potentially exposing order details, user data, or other content that the shortcode would normally render in an authenticated or protected context. No public POC is known, but the attack requires only knowledge of the endpoint and a valid shortcode name, both of which are discoverable by inspecting plugin source code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 03, 2026
Arbitrary shortcode execution in the CURCY Multi Currency for WooCommerce WordPress plugin (versions up to and including 2.2.14) allows unauthenticated attackers to invoke any registered WordPress shortcode by sending a crafted request to a vulnerable action handler in frontend/cache.php. The root cause is a failure to validate the shortcode value before passing it to do_shortcode(), meaning any shortcode registered on the site - including those that expose user data, perform database queries, or render sensitive page content - can be triggered without authentication. No public exploit has been identified at time of analysis, and no CISA KEV listing is present, though the low attack complexity and zero-authentication requirement elevate practical risk above what the moderate CVSS score suggests.
RemediationAI
Update the CURCY - Multi Currency for WooCommerce plugin to a version beyond 2.2.14 once a patched release is published by VillaTheme - no confirmed fixed version is independently available at time of analysis, so monitor the WordPress plugin repository and the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/5a30e5dc-1f15-40ce-9703-1e1add1df6da for release confirmation. As an interim compensating control, site administrators can use a Web Application Firewall (such as Wordfence's own firewall) to block requests that include shortcode-like payloads to the vulnerable AJAX endpoint identified in frontend/cache.php. Disabling the plugin entirely eliminates the attack surface with the trade-off of losing multi-currency functionality. Restricting the vulnerable action to authenticated users via WordPress action hooks is a code-level workaround that requires custom development. Review registered shortcodes on the affected site to understand the realistic blast radius - sites with shortcodes exposing sensitive data should treat this as higher priority.
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 vulnerability resides in the CURCY - Multi Currency for WooCommerce plugin by VillaTheme, identified via CPE cpe:2.3:a:villatheme:curcy_-_multi_currency_for_woocommerce_-_smoothly_on_woocommerce_9.x. The affected code is in frontend/cache.php at approximately lines 18, 99, and 108, where the plugin registers a WordPress AJAX or front-end action that accepts a user-supplied parameter and passes it directly to WordPress's do_shortcode() function without sanitization or allowlist validation. CWE-94 (Improper Control of Generation of Code) classifies this class of flaw: the application treats attacker-supplied data as executable code by allowing it to name which shortcode to run. In WordPress, shortcodes are registered by themes and plugins and can perform a wide range of operations - from rendering content to querying databases - making uncontrolled shortcode execution a meaningful code injection primitive even without direct PHP execution.
Know when Wordpress Plugin 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:L/I:L/A:N
Wordfence's direct code review confirms unauthenticated access, overriding NVD's PR:L; scope unchanged as impact is limited to shortcode output within WordPress.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The The CURCY - Multi Currency for WooCommerce - Smoothly on WooCommerce 9.x plugin for WordPress is vulnerable to arbitrary shortcode execution in all versions up to, and including, 2.2.14. This is due to the software allowing users to execute an action that does not properly validate a value before running do_shortcode. This makes it possible for unauthenticated attackers to execute arbitrary shortcodes.
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
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Wordpress Plugin
View allThe Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
The Hash Form - Drag & Drop Form Builder plugin for WordPress is vulnerable to arbitrary file uploads due to missing fil
Authentication bypass in the LiteSpeed Cache WordPress plugin (versions prior to 6.5.0.1) allows unauthenticated remote
The Simple File List plugin for WordPress through version 4.2.2 contains an unauthenticated remote code execution vulner
The AI Engine WordPress plugin through version 3.1.3 exposes Bearer Token values through the /mcp/v1/ REST API endpoint
The SureTriggers WordPress plugin through version 1.0.82 contains a privilege escalation vulnerability that allows unaut
The Ninja Forms plugin before 2.9.42.1 for WordPress allows remote attackers to conduct PHP object injection attacks via
The Business Directory Plugin - Easy Listing Directories for WordPress plugin for WordPress is vulnerable to time-based
SQL injection in the NotificationX WordPress plugin (versions up to and including 2.8.2) allows unauthenticated remote a
The POST SMTP Mailer - Email log, Delivery Failure Notifications and Best Mail SMTP for WordPress plugin for WordPress i
The MasterStudy LMS WordPress Plugin - for Online Courses and Education plugin for WordPress is vulnerable to union base
The Email Subscribers by Icegram Express plugin for WordPress is vulnerable to SQL Injection via the ‘hash’ parameter in
EUVD-2026-41521
GHSA-j638-4r9q-m7mm
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB