Skip to main content

Unleash CVE-2026-76909

| EUVDEUVD-2026-84824 LOW
Cross-site Scripting (XSS) (CWE-79)
2026-09-22 GitHub_M GHSA-7hvx-28gp-mf6j
2.1
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as project member
  2. Delivery
    Set change-request title/display name to raw HTML
  3. Exploit
    Create change request requiring approval
  4. Execution
    Approval email renders unescaped HTML
  5. Impact
    Approver 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 </a><a href="https://evil.example">Approve change request</a>, then creates a change request requiring approval. When an approver opens the notification email, the injected markup renders as attacker-controlled links or tracking content, enabling a targeted phishing lure. The GHSA advisory publishes step-by-step reproduction instructions, but no weaponized exploit code and no confirmed active exploitation.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

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

unleash < 8.0.3

Affected Packages

npm unleash-server fix: 8.0.3
euvd unleash fix: 8.0.3

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

Vendor (GitHub_M) PRIMARY 2.1 LOW
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
vuln.today AI 4.1 MEDIUM

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.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 21:03 EUVD

DescriptionCVE.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

EPSS Score
0.5%
Top 60% exploitable
Prevalence
Low
Popular OSS feature-flag platform but niche developer infrastructure, not broadly deployed
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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 LOW
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

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