Skip to main content

Happyforms Plugin CVE-2025-11977

| EUVDEUVD-2025-210450 MEDIUM
PHP Remote File Inclusion (CWE-98)
2026-07-10 Wordfence GHSA-f6q8-jxw9-8mhj
6.6
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain WordPress Administrator credentials
  2. Delivery
    Craft request to happyforms_get_form_partial() with traversal path
  3. Exploit
    Include arbitrary PHP file via LFI
  4. Execution
    Execute attacker-controlled PHP code
  5. Impact
    Exfiltrate 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Happyforms – Form Builder for WordPress: Drag & Drop Contact Forms, Surveys, Payments & Multipurpose Forms 0 ≤1.26.12

Affected Packages

euvd happyforms_form_builder_for_wordpress_drag_drop_contact_forms_surveys_payments_multipurpose_forms no fix

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

Vendor (Wordfence) PRIMARY 6.6 MEDIUM
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 6.6 MEDIUM

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.

3.1 AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
High
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

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

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Medium
popular WordPress form builder plugin, significant but not universal install base
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.5%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Total

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +33
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy