Description
Unleash is an open-source feature management platform. Prior to 8.0.3, FeatureEventFormatterMd.format in src/lib/addons/feature-event-formatter-md.ts assigns Mustache.escape to an identity function before rendering action and path templates. Because Mustache.escape is process-wide, the assignment disables escaping for subsequent Mustache.render calls in email-service.ts, webhook.ts, datadog.ts, and new-relic.ts. An editor-level user can place Slack or Microsoft Teams link syntax in an unrestricted username, trigger a feature event, and inject an attacker-labeled link into a trusted outbound notification channel, while other Mustache sinks remain unescaped until restart. This issue is fixed in version 8.0.3.
Published: 2026-08-21
Score: 4.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Malicious link injection
Action: Apply Patch
AI Analysis

Impact

The vulnerability involves the Mustache template engine used by Unleash. Prior to version 8.0.3, the FeatureEventFormatterMd.format function assigns Mustache.escape to an identity function, which disables escaping for all subsequent Mustache.render calls. This manipulation represents CWE-116: Improper Encoding or Escaping because the application globally disables the default escaping function. An editor‑level user can set a username containing Slack or Microsoft Teams link syntax. When a feature event is logged, the unescaped username propagates into email, webhook, Datadog and New Relic notifications, allowing an attacker to inject a malicious link that the receiver assumes is legitimate.

Affected Systems

The affected product is Unleash, the open‑source feature management platform. All releases before 8.0.3 are vulnerable because FeatureEventFormatterMd.format assigns Mustache.escape globally. The impact is especially relevant in instances where notifications are sent to trusted channels such as Slack or Teams, as the injected link appears within an authorized message stream.

Risk and Exploitability

The CVSS score is 4.1, indicating a medium impact. With no EPSS data available, the likelihood of public exploitation appears low, which is consistent with the KEV status of not being listed. The vulnerability requires privileged editor rights; therefore, the attack surface is limited to organizations that grant such access. Exploitability is further reduced by the temporary state of Mustache.escape, which remains disabled until the application is restarted after the exploit.

Generated by OpenCVE AI on August 21, 2026 at 19:55 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Unleash version 8.0.3 or later, where the identity assignment to Mustache.escape has been removed.
  • If upgrading is not immediately possible, restart the Unleash service to restore the original Mustache.escape behavior before the vulnerable change takes effect.
  • Restrict editor‑level privileges by auditing account roles and limiting the ability to modify usernames that may contain link syntax, ensuring that only trusted users can create or alter usernames.
  • Implement input validation or sanitization for usernames to enforce escaping of link markers before they reach Mustache rendering layers.

Generated by OpenCVE AI on August 21, 2026 at 19:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-w4mq-xh27-6xpx Unleash: Global Mustache.escape override disables HTML escaping process-wide, enabling Slack/Teams link-injection via unrestricted username
History

Fri, 21 Aug 2026 22:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 21 Aug 2026 21:45:00 +0000

Type Values Removed Values Added
First Time appeared Unleash
Unleash unleash
Vendors & Products Unleash
Unleash unleash

Fri, 21 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Description Unleash is an open-source feature management platform. Prior to 8.0.3, FeatureEventFormatterMd.format in src/lib/addons/feature-event-formatter-md.ts assigns Mustache.escape to an identity function before rendering action and path templates. Because Mustache.escape is process-wide, the assignment disables escaping for subsequent Mustache.render calls in email-service.ts, webhook.ts, datadog.ts, and new-relic.ts. An editor-level user can place Slack or Microsoft Teams link syntax in an unrestricted username, trigger a feature event, and inject an attacker-labeled link into a trusted outbound notification channel, while other Mustache sinks remain unescaped until restart. This issue is fixed in version 8.0.3.
Title Unleash: Global Mustache.escape override disables HTML escaping process-wide, enabling Slack/Teams link-injection via unrestricted username
Weaknesses CWE-116
References
Metrics cvssV3_1

{'score': 4.1, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-21T21:43:35.526Z

Reserved: 2026-07-16T21:37:45.768Z

Link: CVE-2026-63466

cve-icon Vulnrichment

Updated: 2026-08-21T20:58:23.502Z

cve-icon NVD

Status : Deferred

Published: 2026-08-21T19:17:32.117

Modified: 2026-09-09T21:20:38.860

Link: CVE-2026-63466

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T21:15:03Z

Weaknesses
  • CWE-116

    Improper Encoding or Escaping of Output