Request a Quote Form Plugin <= 2.5.5 - Unauthenticated Code Injection via 'path' Parameter
Strategic Overview
- Status
- Patched in 2.5.6
- Affected Plugin
- Request a Quote – Quote Forms for Any WordPress Site
- Affected Version
<= 2.5.5- CVSS
- 7.5High
- Weakness type
- CWE-74 · Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
- CVE
CVE-2026-14249
At a glance
CVE-2026-14249 is a high-severity Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection') vulnerability in the Request a Quote WordPress plugin, affecting versions <= 2.5.5. It carries a CVSS score of 7.5 (reachable over the network; low attack complexity; high integrity impact). Exploitation requires no authentication. The issue is fixed in version 2.5.6; sites on affected versions should update now. Disclosed July 2026, reported by Mitchell.
Vulnerability Overview
The Request a Quote plugin for WordPress is vulnerable to Code Injection in versions up to, and including, 2.5.5 via the emd_delete_file AJAX action. This is due to the emd_delete_file() handler deriving a PHP function name from the attacker-controlled $_POST['path'] parameter and invoking it dynamically via the variable-function call $sess_name(), and the handler being registered for wp_ajax_nopriv with its only protection being a nonce that the plugin prints into the public quote-form page via wp_localize_script. This makes it possible for unauthenticated attackers to invoke arbitrary zero-argument PHP functions on the server, such as phpinfo(), potentially exposing sensitive server configuration and credentials, or executing other destructive built-in PHP functions.
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no privileges on the target site, and no interaction from a victim user. A successful exploit has high impact on integrity.
CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
Remediation
Update to version 2.5.6, or a newer patched version
How does WordSec protect against this?
Requests carrying this pattern arrive without a session, so nothing upstream of the firewall gets a chance to reject them: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Request a Quote 2.5.6 closes this, and updating the plugin is the step that ends it.
- Firewall
- Login Security
- Alerts
External References
Related records
Other vulnerabilities in Request a Quote – Quote Forms for Any WordPress Site
- 8.3CVE-2022-2240: Request a Quote <= 2.3.8 CSV Injection
CVE-2022-2240 - 8.1CVE-2025-8420: Multiple Plugins by emarket-design <=… Limited RCE
CVE-2025-8420 - 6.4CVE-2025-58915: Multiple Plugins by eMarket Design <=… Stored XSS
CVE-2025-58915 - 5.5CVE-2022-2239: Request a Quote <= 2.3.7 Stored Cross-Site Scripting
CVE-2022-2239 - 5.4CVE-2021-24420: Request a Quote <= 2.3.3 Stored Cross-Site Scripting
CVE-2021-24420 - 4.8CVE-2021-24489: Request a Quote <= 2.3.4 Stored Cross-Site Scripting
CVE-2021-24489 - 4.4CVE-2024-6231: Request a Quote <= 2.4.0 Stored Cross-Site Scripting
CVE-2024-6231 - 4.3CVE-2025-64248: Request a Quote <= 2.5.3 Missing Authorization
CVE-2025-64248
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C