Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend unauthenticated POST to /cf7_record endpoint with XSS payload
-
DeliveryPayload stored unescaped in CF7 records database
-
ExploitAuthenticated user navigates to /cf7_records viewer
-
ExecutionInjected script executes in victim browser
-
ImpactAttacker exfiltrates session cookie or hijacks authenticated session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | No authentication is required to inject the payload - the /cf7_record log endpoint accepts unauthenticated POST requests from any network-accessible client, and no non-default configuration is needed to expose this endpoint on a standard Infility Global installation through version 2.15.21. Payload execution requires that at least one authenticated WordPress user (Subscriber level or above) visit the /cf7_records viewer page after injection; without this victim-side page visit, the stored script remains dormant. Exploitation is bounded by two realistic constraints: the target WordPress site must have the Infility Global plugin installed and active, and the /cf7_records viewer must be reachable by at least one authenticated user. There is no requirement for specific PHP settings, non-default WordPress configurations, or prior attacker authentication. |
| Impact | The CVSS 7.2 score is driven primarily by the changed-scope vector component (S:C), which accurately captures that an unauthenticated attacker's payload crosses into the security context of authenticated user sessions - a meaningful escalation beyond server-side impact alone. In practical terms, even a mid-sized municipal IT team in mielec running a public-facing WordPress site with this plugin should treat this as urgent, because any Subscriber-level user visiting the records page becomes a vector for session hijacking or privilege escalation targeting higher-privileged accounts. The provided CVSS vector lists UI:N, which appears to represent the attacker's perspective on the injection phase; the independent assessment below reflects that victim interaction (visiting the records page) is required for payload execution, which somewhat moderates real-world exploitability compared to the vendor score. No EPSS score is available in the provided data, and the absence of a CISA KEV listing suggests no confirmed mass exploitation. No POC has been identified in available references. The primary realistic risk is administrative account compromise if the payload is crafted to harvest session cookies from WordPress admins who routinely access the records viewer. |
| Exploit ScenarioDerived | An unauthenticated attacker submits a crafted HTTP POST request to the publicly accessible /cf7_record log endpoint containing a JavaScript payload embedded in a log field - for example, a script that exfiltrates document.cookie to an attacker-controlled server. The payload is stored in the plugin's records database without sanitization. When any authenticated WordPress user at Subscriber level or above subsequently navigates to the /cf7_records viewer page, the injected script executes in their browser, enabling session cookie theft, account takeover, or redirection to attacker-controlled content - particularly impactful if an administrator visits the page. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 16, 2026
Stored Cross-Site Scripting in the Infility Global WordPress plugin (versions ≤ 2.15.21) allows unauthenticated remote attackers to inject persistent malicious scripts via the /cf7_record log endpoint, which then execute in the browsers of any authenticated WordPress user who accesses the /cf7_records viewer - including those with only Subscriber-level access. Reported by Wordfence with source-code references corroborating the unsanitized input and unescaped output in InfilityGlobalErrorRecord.php; no public exploit code or CISA KEV listing has been confirmed at time of analysis. The CVSS 7.2 rating reflects a changed-scope attack: the unauthenticated submission context crosses into authenticated user sessions, amplifying impact beyond a typical stored XSS.
RemediationAI
Upgrade the Infility Global WordPress plugin to a version beyond 2.15.21 once a patched release is published by the vendor - no specific fixed version number was confirmed in the available intelligence at time of analysis, and patch status should be verified directly via the WordPress.org plugin repository and the Wordfence advisory at https://www.wordfence.com/threat-intel/vulnerabilities/id/0de639a9-37a6-4a72-8afb-ff43de81a83c?source=cve. If a patch is not yet available, the most effective compensating control is to restrict access to the /cf7_records viewer endpoint to administrator roles only using a WordPress capability check or a web server ACL rule, which eliminates the victim-side execution path for Subscriber-level users; note this does not purge already-stored payloads from the database. A WAF rule blocking common XSS patterns (script tags, onerror and other event-handler attributes) in POST bodies directed at the /cf7_record endpoint can prevent new injections but may interfere with legitimate CF7 log submissions. Site operators should also audit existing CF7 records for injected payloads and purge any suspicious entries as part of incident response.
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 exists in the Infility Global plugin for WordPress (CPE: cpe:2.3:a:infility:infility_global:*:*:*:*:*:*:*:*), specifically within its Contact Form 7 record-logging subsystem implemented in InfilityGlobalErrorRecord.php. Wordfence references lines 25, 320, 410, and 414 of that file as the relevant code paths, indicating both the input-acceptance point and the rendering logic lack proper controls. CWE-79 (Improper Neutralization of Input During Web Page Generation - Cross-site Scripting) is the root cause: data submitted to the /cf7_record endpoint is stored server-side without sanitization and later rendered in the /cf7_records viewer without output escaping. This is a Type II (Stored) XSS pattern, meaning a single injection event produces a persistent payload that fires on every subsequent page load. The attack surface is expanded by the fact that the records viewer grants read access to any authenticated user at Subscriber level or above, not just administrators, maximizing the population of users whose browsers can be hijacked.
Know when Infility Global 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:N/UI:N/S:C/C:L/I:L/A:N
Injection is unauthenticated over the network (AV:N/PR:N), but payload execution requires a victim to visit the records page (UI:R); scope changes into authenticated user browser context (S:C).
Primary rating from Vendor (Wordfence).
CVSS VectorVendor: Wordfence
DescriptionCVE.org
The Infility Global plugin for WordPress is vulnerable to Stored Cross-Site Scripting via /cf7_record Log Endpoint in all versions up to, and including, 2.15.21 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. The /cf7_records viewer is accessible to any authenticated user including those with Subscriber-level access, meaning the injected payload executes for any logged-in user who visits the records page.
Executive ViewAI
A stored cross-site scripting vulnerability in the Infility Global WordPress plugin (versions 2.15.21 and earlier) allows unauthenticated remote attackers to inject persistent malicious scripts that execute when authenticated WordPress users view the CF7 records interface, creating exposure to account compromise and data theft across the entire WordPress user population on affected sites. No public exploit code has been identified, but the vulnerability requires immediate remediation due to its scope change from unauthenticated input to authenticated user context execution.
No vendor-released patch identified at time of analysis. Interim mitigations: immediately disable or remove the vulnerable plugin; deploy Web Application Firewall rules restricting unauthenticated access to /cf7_record and /cf7_records endpoints; restrict the CF7 records viewer to administrator accounts only; enforce multi-factor authentication for all WordPress administrative access; enable enhanced security logging and monitoring for account compromise indicators.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Infility Global
View allSQL injection in the Infility Global WordPress plugin before 2.15.19 allows authenticated users with Subscriber-level ac
Time-based blind SQL injection in the Infility Global WordPress plugin (versions before 2.15.20) enables authenticated a
The Infility Global plugin for WordPress is vulnerable to unauthorized modification of data due to a missing capability
SQL Injection in the Infility Global WordPress plugin (all versions through 2.15.16) allows authenticated attackers hold
The Infility Global plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the ‘set_type’ parameter in
The Infility Global WordPress plugin through 2.9.8 does not sanitise and escape a parameter before outputting it back in
EUVD-2026-59921
GHSA-fp78-cpf3-8fqx
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB