Summary
EdgeEver contains a stored cross-site scripting vulnerability in the drag-preview handling for notebook names and memo titles. An attacker who can create or rename these items through supported tools may store script that executes when a user drags the affected item, potentially exposing the desktop bridge's session token.
EdgeEver contains a stored cross-site scripting vulnerability in the drag-preview handling for notebook names and memo titles. An attacker who can create or rename these items through supported tools may store script that executes when a user drags the affected item, potentially exposing the desktop bridge's session token.
Affected context
The issue occurs in EdgeEver deployments through the affected release line when notebook names or memo titles are accepted from an attacker-controlled source and later rendered by setMemoDragPreview. Risk depends on access to the MCP tools that create or rename notebooks and memos, as well as a user interacting with the affected item through the desktop interface.
The issue occurs in EdgeEver deployments through the affected release line when notebook names or memo titles are accepted from an attacker-controlled source and later rendered by setMemoDragPreview. Risk depends on access to the MCP tools that create or rename notebooks and memos, as well as a user interacting with the affected item through the desktop interface.
Exploit preconditions
- Attack surface: EdgeEver desktop application's drag-preview rendering and related MCP tools
- Required access: Ability to create or rename notebooks or memos, directly or through an integrated automation or MCP client
- Trigger point: A user drags an item whose notebook name or memo title contains stored markup
- Why exploitation is possible: Untrusted stored content is rendered without adequate output encoding or contextual sanitization, allowing browser-executable script to run in the application's context
- Attack surface: EdgeEver desktop application's drag-preview rendering and related MCP tools
- Required access: Ability to create or rename notebooks or memos, directly or through an integrated automation or MCP client
- Trigger point: A user drags an item whose notebook name or memo title contains stored markup
- Why exploitation is possible: Untrusted stored content is rendered without adequate output encoding or contextual sanitization, allowing browser-executable script to run in the application's context
Why this happens
The underlying bug is an output-encoding failure in a stored content rendering path. User-controlled notebook names and memo titles are retained and later inserted into the drag-preview interface without consistently treating them as text. This behavior maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly called cross-site scripting, because attacker-controlled data can be interpreted as executable client-side content.
The underlying bug is an output-encoding failure in a stored content rendering path. User-controlled notebook names and memo titles are retained and later inserted into the drag-preview interface without consistently treating them as text. This behavior maps to CWE-79: Improper Neutralization of Input During Web Page Generation, commonly called cross-site scripting, because attacker-controlled data can be interpreted as executable client-side content.
Potential impact
- An attacker-controlled script may execute in the desktop application's UI context
- The script could access sensitive application state available to that context
- The desktop bridge's session token may be exposed or misused
- User actions or displayed content could be manipulated
- The application account or connected services could be compromised, depending on token scope
- An attacker-controlled script may execute in the desktop application's UI context
- The script could access sensitive application state available to that context
- The desktop bridge's session token may be exposed or misused
- User actions or displayed content could be manipulated
- The application account or connected services could be compromised, depending on token scope
General mitigation guidance
Mitigation generally focuses on treating notebook names and memo titles as untrusted text throughout their lifecycle.
Common defensive patterns include:
- Applying context-appropriate output encoding before inserting values into drag previews or other UI surfaces
- Using framework-native text-rendering APIs rather than HTML interpretation for user-controlled labels
- Applying narrowly scoped, allowlist-based sanitization when rich text is genuinely required
- Separating desktop bridge credentials from renderer contexts and limiting token scope and lifetime
- Enforcing authorization and auditing around MCP operations that create or rename content
- Using restrictive content security policies and least-privilege desktop integration controls
Mitigation generally focuses on treating notebook names and memo titles as untrusted text throughout their lifecycle.
Common defensive patterns include:
- Applying context-appropriate output encoding before inserting values into drag previews or other UI surfaces
- Using framework-native text-rendering APIs rather than HTML interpretation for user-controlled labels
- Applying narrowly scoped, allowlist-based sanitization when rich text is genuinely required
- Separating desktop bridge credentials from renderer contexts and limiting token scope and lifetime
- Enforcing authorization and auditing around MCP operations that create or rename content
- Using restrictive content security policies and least-privilege desktop integration controls
How teams detect issues like this
Organizations can look for this class of issue through:
- Static analysis rules identifying user-controlled values assigned to HTML, DOM, or template rendering sinks
- Code review checks for drag previews, tooltips, labels, and other transient UI components that render stored content
- Tests containing harmless markup and encoded boundary characters to verify that values remain text
- Policy enforcement requiring contextual output encoding and disallowing unsafe HTML insertion APIs
- Monitoring for unusual MCP rename or creation activity and unexpected script-like content in item metadata
Automated security review tools may help identify suspicious source-to-sink flows, but findings should be validated against the rendering context.
Organizations can look for this class of issue through:
- Static analysis rules identifying user-controlled values assigned to HTML, DOM, or template rendering sinks
- Code review checks for drag previews, tooltips, labels, and other transient UI components that render stored content
- Tests containing harmless markup and encoded boundary characters to verify that values remain text
- Policy enforcement requiring contextual output encoding and disallowing unsafe HTML insertion APIs
- Monitoring for unusual MCP rename or creation activity and unexpected script-like content in item metadata
Automated security review tools may help identify suspicious source-to-sink flows, but findings should be validated against the rendering context.

