Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain WordPress Administrator credentials
-
DeliveryCraft request to happyforms_get_form_partial() with traversal path
-
ExploitInclude arbitrary PHP file via LFI
-
ExecutionExecute attacker-controlled PHP code
-
ImpactExfiltrate data or establish persistent webshell
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V5 - File Handling File inclusion prevention, allowlisting
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Command and Control The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated WordPress account with Administrator-level privileges (PR:H confirmed by CVSS vector). For full remote code execution, the attacker must additionally be able to place a PHP file in a server path reachable by the include statement - typically via WordPress media upload, theme/plugin file editing, or a separately chained file-write vulnerability. Without an uploadable PHP file, the attacker is limited to including existing server-side PHP files, which can still expose sensitive data such as wp-config.php credentials. Limiting factors: the Administrator role is required (standard editor/author/subscriber accounts cannot trigger the flaw), AC:H reflects the additional file-placement prerequisite for RCE, and the vulnerability does not affect unauthenticated users or lower-privileged roles. Non-default conditions: the attacker must control an admin account and have a means to place a PHP file on the server filesystem. |
| Impact | The official CVSS 3.1 score of 6.6 (Medium) accurately reflects the constrained attack surface: AV:N acknowledges the web-accessible vector, but PR:H (Administrator privilege required) and AC:H (additional complexity - namely, the need to upload a PHP file for full RCE) combine to make this a low-probability attack path in practice. A WordPress site administrator who can already upload files to the server has many other avenues to achieve code execution, which means this vulnerability primarily matters in environments where administrative accounts are compromised by a third party or where privilege escalation is being chained. No EPSS data was provided, and the absence of a KEV listing and no reported POC further support a realistic risk posture that is lower than the C:H/I:H/A:H impact metrics suggest in isolation. The most plausible real-world scenario is post-compromise persistence or privilege escalation rather than initial access. The CVSS vector is internally consistent with the description; no conflicting signals identified. |
| Exploit ScenarioDerived | A threat actor who has obtained WordPress Administrator credentials - through credential stuffing, phishing, or a separate account takeover - uploads a PHP webshell to the server via the WordPress media library or theme editor, then crafts a request to the Happyforms form rendering flow that passes the webshell path as the partial template parameter to happyforms_get_form_partial(), causing the PHP interpreter to execute the attacker-controlled file and establish persistent server-level access. No public POC has been identified, so the attack requires manual exploitation knowledge of the specific function's parameter handling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 10, 2026
Local File Inclusion in the Happyforms WordPress plugin (all versions through 1.26.12) allows authenticated administrators to include and execute arbitrary PHP files on the server via the happyforms_get_form_partial() function, enabling full remote code execution when the attacker can also upload PHP files. The vulnerability is rooted in unsanitized filename handling (CWE-98) within the form template rendering logic, as evidenced by the affected files class-wp-customize-form-manager.php and helper-form-templates.php. No public exploit code or CISA KEV listing has been identified at time of analysis, and the Administrator-level access prerequisite substantially limits the realistic attacker population.
RemediationAI
A fix was committed to the WordPress.org SVN repository (changeset 3494912: https://plugins.trac.wordpress.org/changeset?reponame=&old=3494912%40happyforms&new=3494912%40happyforms); however, the exact released version number corresponding to this patch is not confirmed in the available data. Site administrators should update the Happyforms plugin to the latest available version via the WordPress plugin dashboard and verify the installed version exceeds 1.26.12. As a compensating control pending patch deployment, administrators should restrict the WordPress admin panel to trusted IP ranges and disable PHP file uploads in directories accessible to WordPress (e.g., via server-level configuration blocking PHP execution in wp-content/uploads). Note that blocking PHP execution in upload directories only mitigates the RCE escalation path; the underlying LFI remains exploitable by existing admin-level accounts. The Wordfence advisory (https://www.wordfence.com/threat-intel/vulnerabilities/id/e31119ab-963d-48a4-9948-0a0dce761918) should be monitored for confirmation of the patched release version.
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
CWE-98 (Improper Control of Filename for Include/Require Statement in PHP Program) describes a classic PHP file inclusion flaw where user-controllable input is passed to a PHP include/require construct without adequate path validation. In this case, the happyforms_get_form_partial() function - invoked during form template rendering in the WordPress Customizer and front-end form handling code - accepts a parameter that is used to resolve a PHP partial file. The affected codebase paths (core/classes/class-wp-customize-form-manager.php and core/helpers/helper-form-templates.php) indicate the flaw spans both the WP Customizer integration and the template helper layer. The CPE string confirms the affected product is the Happyforms WordPress plugin. Because the inclusion target is a .php file, the PHP interpreter executes the included file rather than merely reading it, elevating an LFI to RCE when a writable upload path exists.
Know when Happyforms 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:H/PR:H/UI:N/S:U/C:H/I:H/A:H
Administrator access required (PR:H) and additional file-upload prerequisite for RCE justifies AC:H; full impact metrics apply only when the upload condition is met.
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Happyforms - Form Builder for WordPress: Drag & Drop Contact Forms, Surveys, Payments & Multipurpose Forms plugin for WordPress is vulnerable to Local File Inclusion in all versions up to, and including, 1.26.12 via the happyforms_get_form_partial() function. This makes it possible for authenticated attackers, with Administrator-level access and above, to include and execute arbitrary .php files on the server, allowing the execution of any PHP code in those files. This can be used to bypass access controls, obtain sensitive data, or achieve code execution in cases where .php file types can be uploaded and included.
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
Local File Inclusion vulnerabilities occur when an application accepts user-controlled input to specify which file should be loaded or executed, typically through functions like PHP's `include()`, `require()`, or `fopen()`.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
More in Happyforms
View allUnauthenticated PHP Object Injection in the Happyforms WordPress plugin (versions <= 1.26.13) allows remote attackers to
HTML injection in the HappyForms WordPress plugin (versions before 1.26.15) allows unauthenticated attackers to place ar
The Happyforms WordPress plugin before 1.22.0 does not validate and escape some of its block options before outputting t
The Happyforms WordPress plugin before 1.26.3 does not sanitise and escape some of its settings, which could allow high
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') vulnerability in Happyforms Form bu
Unauthenticated cross-site scripting in the Happyforms WordPress plugin affects every release through version 1.26.15, a
Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') vulnerability in Happyforms
Missing Authorization vulnerability in Happyforms.25.10. Rated medium severity (CVSS 5.3), this vulnerability is remotel
EUVD-2025-210450
GHSA-f6q8-jxw9-8mhj
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB