/

CVE-2026-109559

Severity:

HIGH RISK

(8.7)

Navigation Allowlist Bypass (CWE-863) in EdgeEver Desktop

CVE-2026-109559

Deferred

Vulnerability type

Category:

Incorrect Authorization

CWE:

CWE-863

Impact:

Unauthorized Origin Access and Desktop Bridge Exposure

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 Desktop contains a navigation authorization flaw caused by string-prefix matching for allowed URLs. An attacker may cause the main window to load an arbitrary origin and potentially access the EdgeEver Desktop bridge, including session-token, sidecar RPC, and ACP channels, when crafted content is rendered in a trusted preview context.

EdgeEver Desktop contains a navigation authorization flaw caused by string-prefix matching for allowed URLs. An attacker may cause the main window to load an arbitrary origin and potentially access the EdgeEver Desktop bridge, including session-token, sidecar RPC, and ACP channels, when crafted content is rendered in a trusted preview context.

Affected context

The issue affects EdgeEver Desktop versions using prefix-based navigation checks in the main window. Risk is present when attacker-controlled or insufficiently trusted content, such as note-template preview content, can initiate navigation and the resulting page retains access to privileged desktop integrations.

The issue affects EdgeEver Desktop versions using prefix-based navigation checks in the main window. Risk is present when attacker-controlled or insufficiently trusted content, such as note-template preview content, can initiate navigation and the resulting page retains access to privileged desktop integrations.

Exploit preconditions

  • Attack surface: Main-window navigation and content-rendering features - Required access: Ability to supply or influence content that is rendered

by a trusted preview or similar workflow

  • Trigger point: Navigation authorization performed before loading a URL - Why exploitation is possible: A string-prefix allowlist can treat a

deceptive URL as trusted even when its effective origin is different,

allowing privileged bridge exposure to an unauthorized page

  • Attack surface: Main-window navigation and content-rendering features - Required access: Ability to supply or influence content that is rendered

by a trusted preview or similar workflow

  • Trigger point: Navigation authorization performed before loading a URL - Why exploitation is possible: A string-prefix allowlist can treat a

deceptive URL as trusted even when its effective origin is different,

allowing privileged bridge exposure to an unauthorized page

Why this happens

The underlying bug is an authorization decision based on textual URL-prefix matching rather than on the parsed, canonical origin and navigation destination. URL userinfo and related parsing semantics can make a URL appear to begin with an approved developer-server prefix while resolving to a different origin. This maps to CWE-863, Incorrect Authorization, because access to a privileged navigation or bridge capability is granted without accurately verifying the requested origin.

The underlying bug is an authorization decision based on textual URL-prefix matching rather than on the parsed, canonical origin and navigation destination. URL userinfo and related parsing semantics can make a URL appear to begin with an approved developer-server prefix while resolving to a different origin. This maps to CWE-863, Incorrect Authorization, because access to a privileged navigation or bridge capability is granted without accurately verifying the requested origin.

Potential impact

  • An unauthorized origin may load in the privileged main window
  • An attacker could gain access to the EdgeEver Desktop bridge
  • Session tokens or other sensitive application context may be exposed
  • Sidecar RPC or ACP channels could be invoked without intended authorization
  • The compromise could enable data access, manipulation, or further actions

within the user's desktop session

  • An unauthorized origin may load in the privileged main window
  • An attacker could gain access to the EdgeEver Desktop bridge
  • Session tokens or other sensitive application context may be exposed
  • Sidecar RPC or ACP channels could be invoked without intended authorization
  • The compromise could enable data access, manipulation, or further actions

within the user's desktop session

General mitigation guidance

Mitigation generally focuses on replacing textual allowlists with origin-aware authorization. URL values can be parsed and canonicalized before comparison, with exact scheme, host, port, and path policies defined where appropriate; userinfo, redirects, alternate encodings, and ambiguous URL forms should not inherit trust. Privileged bridges can be isolated from untrusted pages, exposed only through narrowly scoped capabilities, and protected by explicit origin checks and least-privilege session handling. Secure-by-default navigation policies can deny unknown origins, while reducing attacker control over preview content and keeping tokens out of renderer-accessible contexts further limits exposure.

Mitigation generally focuses on replacing textual allowlists with origin-aware authorization. URL values can be parsed and canonicalized before comparison, with exact scheme, host, port, and path policies defined where appropriate; userinfo, redirects, alternate encodings, and ambiguous URL forms should not inherit trust. Privileged bridges can be isolated from untrusted pages, exposed only through narrowly scoped capabilities, and protected by explicit origin checks and least-privilege session handling. Secure-by-default navigation policies can deny unknown origins, while reducing attacker control over preview content and keeping tokens out of renderer-accessible contexts further limits exposure.

How teams detect issues like this

Detection can include static analysis and code review searches for starts-with, prefix, substring, or regular-expression checks used as URL authorization decisions. Reviewers can examine whether URLs are parsed before validation, whether userinfo and redirects are handled safely, and whether privileged bridges are exposed to every renderer. Policy enforcement can require exact origin allowlists, deny ambiguous URL forms, and test navigation boundaries with malformed and alternate URL representations. Automated application-security and desktop-application review tools may help identify these patterns.

Detection can include static analysis and code review searches for starts-with, prefix, substring, or regular-expression checks used as URL authorization decisions. Reviewers can examine whether URLs are parsed before validation, whether userinfo and redirects are handled safely, and whether privileged bridges are exposed to every renderer. Policy enforcement can require exact origin allowlists, deny ambiguous URL forms, and test navigation boundaries with malformed and alternate URL representations. Automated application-security and desktop-application review tools may help identify these patterns.

Sources

SourceLink
github.comgithub.com/tianma-if/edgeever
github.comgithub.com/tianma-if/edgeever/blob/f6ade70423ba366077653dbb8ac43a677933c776/apps/desktop/src/main/index.mjs#L1560-L1564
github.comgithub.com/tianma-if/edgeever/commit/6b5027e8b4becbee0c0de7cd1a3d04af78ca87ca
github.comgithub.com/tianma-if/edgeever/issues/536
github.comgithub.com/tianma-if/edgeever/issues/546
vulncheck.comvulncheck.com/advisories/edgeever-desktop-1.6.26-through-1.112.0-navigation-allowlist-bypass-via-will-navigate

Frequently asked

questions

Exploitation generally depends on getting attacker-controlled content into a

trusted EdgeEver rendering or preview workflow. It does not necessarily

require direct network access to the desktop process.

The attacker must typically be able to influence content that the application

loads in the affected main window, such as a note or template preview. The

exact access requirement depends on how content is imported, shared, or

rendered.

Use parsed, canonical URL and origin checks with a deny-by-default policy.

Privileged desktop bridges should be unavailable to untrusted origins or

limited to narrowly authorized capabilities.

Treat URL authorization as a security policy rather than a string comparison.

Test userinfo, redirects, encoding variations, and alternate schemes, and

keep authentication tokens and privileged RPC channels outside untrusted

renderer contexts.

Exploitation generally depends on getting attacker-controlled content into a

trusted EdgeEver rendering or preview workflow. It does not necessarily

require direct network access to the desktop process.

The attacker must typically be able to influence content that the application

loads in the affected main window, such as a note or template preview. The

exact access requirement depends on how content is imported, shared, or

rendered.

Use parsed, canonical URL and origin checks with a deny-by-default policy.

Privileged desktop bridges should be unavailable to untrusted origins or

limited to narrowly authorized capabilities.

Treat URL authorization as a security policy rather than a string comparison.

Test userinfo, redirects, encoding variations, and alternate schemes, and

keep authentication tokens and privileged RPC channels outside untrusted

renderer contexts.

Find out what's already
exploitable in your codebase.