/

CVE-2026-109558

Severity:

HIGH RISK

(8.7)

Stored XSS (CWE-79) in EdgeEver TemplatesPane.tsx UI

CVE-2026-109558

Deferred

Vulnerability type

Category:

Stored Cross-Site Scripting

CWE:

CWE-79

Impact:

Client-Side Code Execution and Privileged Bridge Access

Severity:

HIGH RISK

(8.7)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

EdgeEver contains a stored cross-site scripting vulnerability in the template preview interface, where template Markdown is rendered as raw HTML without sanitization.

An attacker who can create or modify templates through an API or MCP token may cause script to run when the template is previewed, potentially accessing the privileged EdgeEver Desktop bridge.

EdgeEver contains a stored cross-site scripting vulnerability in the template preview interface, where template Markdown is rendered as raw HTML without sanitization.

An attacker who can create or modify templates through an API or MCP token may cause script to run when the template is previewed, potentially accessing the privileged EdgeEver Desktop bridge.

Affected context

The issue occurs in EdgeEver's TemplatesPane.tsx component when template contentMarkdown is inserted into the interface through a raw HTML rendering mechanism. It becomes risky when an attacker can write or alter templates through an API or MCP token and a user or privileged desktop process previews the affected template.

The issue occurs in EdgeEver's TemplatesPane.tsx component when template contentMarkdown is inserted into the interface through a raw HTML rendering mechanism. It becomes risky when an attacker can write or alter templates through an API or MCP token and a user or privileged desktop process previews the affected template.

Exploit preconditions

  • Attack surface: EdgeEver template creation or modification APIs and MCP integrations
  • Required access: A valid API credential, MCP token, or equivalent permission to write templates
  • Trigger point: Rendering or previewing attacker-controlled template content
  • Why exploitation is possible: Raw HTML is inserted into the preview without sanitization, allowing browser-executable event-handler content to run in the application context
  • Attack surface: EdgeEver template creation or modification APIs and MCP integrations
  • Required access: A valid API credential, MCP token, or equivalent permission to write templates
  • Trigger point: Rendering or previewing attacker-controlled template content
  • Why exploitation is possible: Raw HTML is inserted into the preview without sanitization, allowing browser-executable event-handler content to run in the application context

Why this happens

The vulnerability results from rendering attacker-controlled Markdown-derived content with a raw HTML sink such as dangerouslySetInnerHTML without first applying an appropriate sanitizer.

This insecure pattern allows HTML elements and executable event-handler attributes to reach the browser as active content. It maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as cross-site scripting.

The vulnerability results from rendering attacker-controlled Markdown-derived content with a raw HTML sink such as dangerouslySetInnerHTML without first applying an appropriate sanitizer.

This insecure pattern allows HTML elements and executable event-handler attributes to reach the browser as active content. It maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly known as cross-site scripting.

Potential impact

  • Malicious script execution in a user's EdgeEver session
  • Access to data exposed through the privileged window.edgeeverDesktop bridge
  • Unauthorized desktop actions, depending on bridge capabilities and permission checks
  • Theft or misuse of application session information
  • Social engineering through altered or deceptive template previews
  • Malicious script execution in a user's EdgeEver session
  • Access to data exposed through the privileged window.edgeeverDesktop bridge
  • Unauthorized desktop actions, depending on bridge capabilities and permission checks
  • Theft or misuse of application session information
  • Social engineering through altered or deceptive template previews

General mitigation guidance

Mitigation generally focuses on preventing untrusted template content from reaching executable HTML sinks.

Common defensive patterns include:

  • Rendering Markdown through a context-appropriate sanitizer with a restrictive allowlist
  • Preferentially using text rendering or safe component-based rendering over raw HTML insertion
  • Treating templates received through APIs and MCP integrations as untrusted input
  • Applying output encoding appropriate to the rendering context
  • Enforcing origin, authorization, and capability checks on privileged desktop bridge operations
  • Limiting bridge exposure and applying least privilege so compromised renderer content has minimal authority
  • Using a restrictive content security policy as defense in depth

Mitigation generally focuses on preventing untrusted template content from reaching executable HTML sinks.

Common defensive patterns include:

  • Rendering Markdown through a context-appropriate sanitizer with a restrictive allowlist
  • Preferentially using text rendering or safe component-based rendering over raw HTML insertion
  • Treating templates received through APIs and MCP integrations as untrusted input
  • Applying output encoding appropriate to the rendering context
  • Enforcing origin, authorization, and capability checks on privileged desktop bridge operations
  • Limiting bridge exposure and applying least privilege so compromised renderer content has minimal authority
  • Using a restrictive content security policy as defense in depth

How teams detect issues like this

Organizations can look for:

  • Static analysis findings involving dangerouslySetInnerHTML or equivalent raw HTML sinks
  • Code review signals where user-controlled Markdown or template fields flow into HTML rendering without a sanitizer
  • Tests containing event-handler attributes and other inert-versus-active HTML cases
  • Policy checks requiring approved sanitization libraries and allowlists for rendered content
  • Monitoring for unusual template changes through API or MCP credentials and unexpected bridge activity during previews

Automated security review tools can help identify unsafe data flows, but findings should be verified against the actual rendering context and bridge permissions.

Organizations can look for:

  • Static analysis findings involving dangerouslySetInnerHTML or equivalent raw HTML sinks
  • Code review signals where user-controlled Markdown or template fields flow into HTML rendering without a sanitizer
  • Tests containing event-handler attributes and other inert-versus-active HTML cases
  • Policy checks requiring approved sanitization libraries and allowlists for rendered content
  • Monitoring for unusual template changes through API or MCP credentials and unexpected bridge activity during previews

Automated security review tools can help identify unsafe data flows, but findings should be verified against the actual rendering context and bridge permissions.

Sources

SourceLink
github.comgithub.com/tianma-if/edgeever
github.comgithub.com/tianma-if/edgeever/blob/f6ade70423ba366077653dbb8ac43a677933c776/apps/web/src/components/TemplatesPane.tsx#L150-L158
github.comgithub.com/tianma-if/edgeever/commit/6b5027e8b4becbee0c0de7cd1a3d04af78ca87ca
github.comgithub.com/tianma-if/edgeever/issues/533
github.comgithub.com/tianma-if/edgeever/issues/546
vulncheck.comvulncheck.com/advisories/edgeever-1.6.0-through-1.112.0-stored-xss-via-templatespane-template-preview

Frequently asked

questions

It may be exploitable through the network-accessible API or MCP integration when those interfaces permit an attacker to create or modify templates. A victim or desktop process generally must render the affected template for the stored content to execute.

The attacker needs a valid API credential, MCP token, or another authorized path that permits template modification. The ultimate impact also depends on the privileges exposed by the EdgeEver Desktop bridge.

Treat template content as untrusted, sanitize allowed HTML with a restrictive policy, and prefer safe rendering APIs that do not interpret attacker-controlled markup as executable HTML.

Combine output encoding and approved sanitization with code-review rules for raw HTML sinks, security testing of preview features, strong token scoping, and least-privilege controls around desktop bridges.

It may be exploitable through the network-accessible API or MCP integration when those interfaces permit an attacker to create or modify templates. A victim or desktop process generally must render the affected template for the stored content to execute.

The attacker needs a valid API credential, MCP token, or another authorized path that permits template modification. The ultimate impact also depends on the privileges exposed by the EdgeEver Desktop bridge.

Treat template content as untrusted, sanitize allowed HTML with a restrictive policy, and prefer safe rendering APIs that do not interpret attacker-controlled markup as executable HTML.

Combine output encoding and approved sanitization with code-review rules for raw HTML sinks, security testing of preview features, strong token scoping, and least-privilege controls around desktop bridges.

Find out what's already
exploitable in your codebase.