Cross-Site Scripting (XSS) in unleash-server (CVE-2026-76909)
Summary
Cross-site scripting in unleash-server (CVE-2026-76909). Risk of unauthorized operations or information disclosure. Exploitable via sendRequestedCRApprovalEmail. Mitigation: upgrade to 8.0.3 or later.
Original description
The description as published by the source.
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
- Use an Enterprise deployment with change requests and approval emails enabled.
- As a project member who can create change requests, set a display name or change-request title to HTML such as:
Approve change request
- Create a change request that requires approval.
- 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.
Source: NIST National Vulnerability Database NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-76909 has been found in unleash-server.
Attackers can target a specific entry point like sendRequestedCRApprovalEmail over the network to misuse the product.
Risk of unauthorized operations or information disclosure.
What to do: upgrade unleash-server to 8.0.3 or later.
If unsure, ask your IT team or search "unleash-server CVE-2026-76909" on the vendor's site.
CVE-2026-76909 (unleash-server) — CWE-79
Attack surface: sendRequestedCRApprovalEmail / Mustache.render
Patched: 8.0.3 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
Cross-site scripting (XSS) (CWE-79) exists in unleash-server. Attackers reach the vulnerable code path via sendRequestedCRApprovalEmail.
Check the vendor advisory for the affected versions of unleash-server. Attack surface: sendRequestedCRApprovalEmail / Mustache.render.
Severity: ?. Risk of unauthorized operations or information disclosure.
Update to 8.0.3.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'unleash-server' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'unleash-server' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
unleash-serverを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade unleash-server to 8.0.3ステージング環境で 8.0.3 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- web github.com
- web github.com
- web github.com
- web github.com