GHSA-7hvx-28gp-mf6j

Suggest an improvement
Source
https://github.com/advisories/GHSA-7hvx-28gp-mf6j
Import Source
https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-7hvx-28gp-mf6j/GHSA-7hvx-28gp-mf6j.json
JSON Data
https://api.osv.dev/v1/vulns/GHSA-7hvx-28gp-mf6j
Aliases
Published
2026-09-22T20:34:38Z
Modified
2026-09-22T21:00:07Z
Severity
  • 2.1 (Low) CVSS_V4 - 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 CVSS Calculator
Summary
Unleash: CR-approval email renders user-controlled raw HTML
Details

Summary

The change-request approval HTML email template renders fields as raw HTML. User who can create a change request can inject HTML into approval notification emails. I was not able to confirm Enterprise platform is using vulnerable code nor that it doesn't sanitize input.

Details

src/mailtemplates/requested-cr-approval/requested-cr-approval.html.mustache uses Mustache triple-stash syntax for fields that can originate from users:

{{{ changeRequestTitle }}}
{{{ requesterName }}}
{{{ requesterEmail }}}
{{{ changeRequestLink }}}

Triple-stash disables HTML escaping even when Mustache's global escape function is safe. The related renderer is sendRequestedCRApprovalEmail in src/lib/services/email-service.ts, which renders the template with Mustache.render.

PoC

  1. Use an Enterprise deployment with change requests and approval emails enabled.
  2. As a project member who can create change requests, set a display name or change-request title to HTML such as:
</a><a href="https://example.com">Approve change request</a>
  1. Create a change request that requires approval.
  2. Observe that the approval email contains attacker-controlled raw HTML instead of escaped text.

Impact

Change-request approvers can receive forged links, tracking pixels, or visually altered email content.

Database specific
{
    "cwe_ids":  [
        "CWE-79"
    ],
    "github_reviewed":  true,
    "github_reviewed_at":  "2026-09-22T20:34:38Z",
    "nvd_published_at":  null,
    "severity":  "LOW"
}
References

Affected packages

npm / unleash-server

Package

Name
unleash-server
View open source insights on deps.dev
Purl
pkg:npm/unleash-server

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
8.0.3

Database specific

source
"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-7hvx-28gp-mf6j/GHSA-7hvx-28gp-mf6j.json"