CVE-2026-76909: 
JavaScript vulnerability analysis and mitigation

Overview

CVE-2026-76909 is an HTML injection vulnerability in Unleash, an open-source feature management platform, affecting all versions prior to 8.0.3 (npm package unleash-server ≤ 7.6.4). The flaw exists in the change-request approval email template, which renders user-controlled fields without HTML escaping, allowing a project member to inject arbitrary HTML into approver notification emails. It was disclosed on July 10, 2026, via a GitHub Security Advisory and assigned a CVSS v4.0 base score of 2.1 (Low) (GitHub Advisory).

Technical details

The root cause is improper neutralization of user-controlled input before inclusion in HTML output (CWE-79). The Mustache template at src/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache uses triple-stash syntax ({{{ }}}) for the changeRequestTitle, requesterName, and requesterEmail fields, which explicitly disables Mustache's built-in HTML escaping. The sendRequestedCRApprovalEmail function in src/lib/services/email-service.ts passes these user-supplied values directly to Mustache.render() without sanitization. Exploitation requires the attacker to be a project member with permission to create change requests on an Enterprise deployment where approval emails are enabled (GitHub Advisory, Fix Commit).

Impact

Successful exploitation allows an attacker to inject arbitrary HTML content into approval notification emails sent to change-request approvers. This can result in forged hyperlinks (e.g., phishing links), embedded tracking pixels for user profiling, or visually manipulated email content designed to deceive recipients. The vulnerability has no direct impact on the confidentiality or integrity of the Unleash server itself, but poses a low risk to subsequent systems through social engineering of approvers (GitHub Advisory).

Exploitability

No public proof-of-concept exploit code or in-the-wild exploitation has been reported. The EPSS score is 0.0, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation requires authenticated access as a project member on an Enterprise deployment with approval emails enabled, significantly limiting the attack surface (GitHub Advisory).

Exploitation steps

  1. Gain project membership: Obtain or register an account with project member privileges on a target Unleash Enterprise deployment that has change-request approval emails enabled.
  2. Craft a malicious payload: Set a display name or change-request title to an HTML payload, for example: <a href="https://attacker.com/phish">Click here to approve</a> or an image tag for tracking: <img src="https://attacker.com/track.png" />.
  3. Create a change request: Submit a change request using the crafted title or from the account with the malicious display name, triggering the approval email workflow.
  4. Email delivery: The Unleash server renders the approval notification email using the vulnerable Mustache template, embedding the raw HTML payload into the email body sent to the approver.
  5. Approver interaction: The approver receives the email containing attacker-controlled HTML — clicking a forged link may lead to credential phishing, or the tracking pixel silently confirms email delivery (GitHub Advisory).

Indicators of compromise

  • Email Content: Approval notification emails containing unexpected HTML tags (e.g., <a>, <img>, <script>) in the change request title, requester name, or requester email fields.
  • Logs: Unleash application logs showing change requests created by project members with unusually long or HTML-formatted titles or display names.
  • Network: Outbound HTTP requests from approver mail clients to unknown external domains shortly after receiving a change-request approval email (indicative of tracking pixel loading or phishing link clicks).

Mitigation and workarounds

Upgrade the unleash-server npm package to version 8.0.3 or later, which replaces triple-stash Mustache syntax ({{{ }}}) with standard double-stash ({{ }}) for user-controlled fields, restoring HTML escaping. No configuration-based workaround is available; disabling approval emails entirely would eliminate the attack vector if upgrading immediately is not possible (GitHub Advisory, v8.0.3 Release).

Additional resources


Source: This report was generated using AI

Related JavaScript vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-77426HIGH7.1
  • JavaScript logoJavaScript
  • unleash-server
NoYesSep 22, 2026
CVE-2026-63628MEDIUM6.9
  • JavaScript logoJavaScript
  • mppx
NoYesSep 22, 2026
CVE-2026-76910MEDIUM5.3
  • JavaScript logoJavaScript
  • unleash-server
NoYesSep 22, 2026
CVE-2026-77425MEDIUM4.3
  • JavaScript logoJavaScript
  • unleash-server
NoYesSep 22, 2026
CVE-2026-76909LOW2.1
  • JavaScript logoJavaScript
  • unleash-server
NoYesSep 22, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management