Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as project member
-
DeliverySet change-request title/display name to raw HTML
-
ExploitCreate change request requiring approval
-
ExecutionApproval email renders unescaped HTML
-
ImpactApprover opens forged links/spoofed content
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 all of: (1) the Unleash change-request feature enabled, (2) approval email notifications enabled (the AT:P attack requirement), and (3) an authenticated project member with permission to create change requests (PR:L). The attacker injects raw HTML via the changeRequestTitle, requesterName, or requesterEmail values, which the requested-cr-approval.html.mustache template renders with Mustache triple-stash ({{{ }}}), disabling HTML escaping. Realistic impact is further limited by required approver interaction (an approver must open the email, UI:P) and by the fact that mail clients block script execution, restricting the outcome to HTML content spoofing / forged links rather than code execution. The reporter could not confirm whether the Enterprise deployment runs the vulnerable, unsanitized code path. |
| Impact | This is a genuinely low-priority, low-severity issue and the signals are consistent about that. The vendor CVSS 4.0 base score is 2.1 (CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N), reflecting an authenticated attacker (PR:L, must be a project member able to create change requests), an attack requirement (AT:P - the deployment must have change requests and approval emails enabled), and required passive user interaction (UI:P - an approver must open the email). No confidentiality, integrity, or availability impact to the Unleash system itself; only limited subsequent-system integrity/confidentiality (email content manipulation reaching the approver). No EPSS score, KEV listing, POC exploit-code flag, or SSVC decision was provided in the input. There is no code execution: this is HTML injection into an HTML email body, and virtually all mail clients block scripting, so the realistic impact is content spoofing (forged links, tracking pixels, visually altered text) rather than true browser XSS despite the CWE-79 / 'XSS' labeling. The vulnerable component is server-side (npm unleash-server < 8.0.3) and the fix (triple-stash to double-stash Mustache) is confirmed by the vendor commit and the v8.0.3 release. No signals conflict; all point to a real-but-minor phishing/content-forgery risk gated behind authenticated access and a specific feature configuration. |
| Exploit ScenarioDerived | In an Unleash deployment where change requests and approval emails are enabled, a low-privileged project member sets their display name or a change-request title to raw HTML such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Unleash deployments prior to 8.0.3 render the change-request approval email template with Mustache triple-stash syntax, so the attacker-controlled changeRequestTitle, requesterName, and requesterEmail values are inserted into notification emails as raw, unescaped HTML. An authenticated project member who can create change requests (CVSS 4.0 vector AV:N/AC:L/PR:L; assessed CVSS 3.1 AV:N/AC:L/PR:L/UI:R) can therefore place forged links, tracking content, or visually altered text into an approver's inbox, although the approver must open the email and mail clients block script execution, so the realistic outcome is HTML content spoofing rather than code execution. No evidence of active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis, though the vendor advisory documents manual reproduction steps; severity is genuinely low (CVSS 2.1) and the vendor-released patch is Unleash 8.0.3.
RemediationAI
Upgrade to Unleash 8.0.3, the vendor-released fix version (npm package unleash-server fixed in 8.0.3; release tag v8.0.3), which converts the triple-stash {{{ }}} tags for changeRequestTitle, requesterName, and requesterEmail to escaped {{ }} tags in requested-cr-approval.html.mustache - see the fix commit 7c89cedcbbb5aa826951373569930e0a3c4358db and advisory https://github.com/Unleash/unleash/security/advisories/GHSA-7hvx-28gp-mf6j. If immediate upgrade is not possible, disable change-request approval email notifications, which removes the vulnerable rendering path entirely at the cost of losing approver email workflows (approvals must then be surfaced in-product), or tighten the project-member permission that allows change-request creation so only fully trusted users can supply the affected fields; note that this is a permission-scoping control, not a code fix, and any user who retains create rights can still inject HTML. Deployment-specific hardening should also consider that this issue was not confirmed to affect the Enterprise platform code path, so organizations running Enterprise should verify with the vendor whether their build consumes the vulnerable email-service renderer before treating the upgrade as a complete mitigation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Unleash is an open-source feature management/toggle platform distributed as the npm package unleash-server (CPE cpe:2.3:a:unleash:unleash:*:*:*:*:*:*:*:*), and the affected code path lives in its transactional email subsystem. The template src/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache used Mustache triple-stash tags ({{{ changeRequestTitle }}}, {{{ requesterName }}}, {{{ requesterEmail }}}, {{{ changeRequestLink }}}) for values that originate from users, and Mustache's triple-stash deliberately bypasses HTML escaping regardless of any global escape function configured for normal {{ }} tags; the renderer sendRequestedCRApprovalEmail in src/lib/services/email-service.ts fed those values directly to Mustache.render. This is a classic CWE-79 (Improper Neutralization of Input During Web Page Generation / cross-site scripting) instance transposed into an email rendering context: because the payload lands in an HTML email body rather than a browser-rendered web page, the affected execution environment is the recipient's mail client, which normally strips or refuses to execute scripts and remote active content. That environmental constraint caps impact at HTML injection - forged anchor text/links, tracking pixels, and cosmetic tampering - with a scope change (S:C per the assessed CVSS 3.1 vector) limited to the rendered message and low integrity impact, rather than script execution or data exfiltration. Exploitation requires the change-request feature, approval email notifications, and an authenticated project member able to create change requests, plus approver interaction (opening the email). The reporter expressly could not confirm whether the Enterprise platform consumes this vulnerable, unsanitized code path.
Know when Unleash 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:P/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Authenticated project member (PR:L) injects HTML that renders in an approver's email (S:C, UI:R for the approver); impact limited to email content integrity (I:L), no confidentiality or availability.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Unleash is an open-source feature management platform. Prior to 8.0.3, the change-request approval email template at src/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache renders the user-controlled changeRequestTitle, requesterName, and requesterEmail values without HTML escaping, and sendRequestedCRApprovalEmail passes those values to Mustache rendering. A project member who can create a change request when approval emails are enabled can inject HTML into an approver's notification, allowing forged links, tracking content, or visually altered email content. This issue is fixed in version 8.0.3.
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.
Stack exhaustion denial-of-service in Unleash's OpenAPI validation middleware allows unauthenticated network attackers t
Server-Side Request Forgery in Unleash's addon and integration subsystem (versions prior to 7.5.2, 7.6.5, and 8.0.2) all
Authenticated users of Unleash (npm unleash-server) prior to 8.0.3 who hold create or clone rights in any single project
Authenticated users who hold the UPDATE_FEATURE_STRATEGY permission in any single project can reorder the activation str
Process-wide Mustache HTML escaping is permanently disabled in Unleash (all versions prior to 8.0.3) from the first mome
Authenticated users of Unleash (the open-source feature management platform) can bypass project-scoped authorization and
EUVD-2026-84824
GHSA-7hvx-28gp-mf6j
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB