/

CVE-2026-107017

Severity:

CRITICAL RISK

(9.1)

Broken Access Control (CWE-284) in Canvoki Shortcut Activity

CVE-2026-107017

Deferred

Vulnerability type

Category:

Broken Access Control

CWE:

CWE-284

Impact:

Unauthorized execution of another user's configured automated actions

Severity:

CRITICAL RISK

(9.1)

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

A critical access-control weakness in Canvoki's ShortcutDispatchActivity may allow an unauthorized attacker to trigger automated actions configured by another user. The issue becomes risky when the activity can be invoked without sufficiently verifying the caller's identity, permissions, or ownership of the requested automation.

A critical access-control weakness in Canvoki's ShortcutDispatchActivity may allow an unauthorized attacker to trigger automated actions configured by another user. The issue becomes risky when the activity can be invoked without sufficiently verifying the caller's identity, permissions, or ownership of the requested automation.

Affected context

The vulnerability occurs in the ShortcutDispatchActivity component of Canvoki versionCode 14 when the component's permissions or caller checks do not adequately restrict access. It is relevant to deployments where user-configured automated actions are exposed through an activity that can be reached by an unauthorized application, process, or caller.

The vulnerability occurs in the ShortcutDispatchActivity component of Canvoki versionCode 14 when the component's permissions or caller checks do not adequately restrict access. It is relevant to deployments where user-configured automated actions are exposed through an activity that can be reached by an unauthorized application, process, or caller.

Exploit preconditions

  • Attack surface: The ShortcutDispatchActivity component or an associated activity invocation interface
  • Required access: Ability to invoke or reach the component as an unauthorized caller
  • Trigger point: Request processing that dispatches a configured automated action
  • Why exploitation is possible: The component does not sufficiently enforce caller authorization or ownership before executing another user's configured action
  • Attack surface: The ShortcutDispatchActivity component or an associated activity invocation interface
  • Required access: Ability to invoke or reach the component as an unauthorized caller
  • Trigger point: Request processing that dispatches a configured automated action
  • Why exploitation is possible: The component does not sufficiently enforce caller authorization or ownership before executing another user's configured action

Why this happens

The underlying bug is improper access-control enforcement in a component that performs privileged or user-specific actions. The activity appears to trust invocation context without consistently validating whether the caller is authorized to access the selected automation. This maps to CWE-284: Improper Access Control, where access to a protected operation is not restricted according to the intended security policy.

The underlying bug is improper access-control enforcement in a component that performs privileged or user-specific actions. The activity appears to trust invocation context without consistently validating whether the caller is authorized to access the selected automation. This maps to CWE-284: Improper Access Control, where access to a protected operation is not restricted according to the intended security policy.

Potential impact

  • An attacker may trigger automated actions belonging to another user
  • Unauthorized workflows or device operations could be initiated
  • Sensitive actions may be performed outside the user's intent
  • Account integrity, privacy, or connected-service security could be affected
  • Repeated unauthorized invocations could cause disruption or resource abuse
  • An attacker may trigger automated actions belonging to another user
  • Unauthorized workflows or device operations could be initiated
  • Sensitive actions may be performed outside the user's intent
  • Account integrity, privacy, or connected-service security could be affected
  • Repeated unauthorized invocations could cause disruption or resource abuse

General mitigation guidance

Mitigation generally focuses on enforcing authorization at the activity boundary and again before executing each user-specific action.

Common defensive patterns include:

  • Restricting externally reachable activities unless exposure is explicitly required
  • Requiring robust caller authentication and authorization checks
  • Verifying that the caller owns or is permitted to use the requested automation
  • Applying deny-by-default component permissions and explicit intent handling
  • Avoiding reliance on client-supplied identifiers as proof of ownership
  • Running automated actions with the minimum privileges and data access necessary
  • Logging denied and successful invocations without exposing sensitive details

Mitigation generally focuses on enforcing authorization at the activity boundary and again before executing each user-specific action.

Common defensive patterns include:

  • Restricting externally reachable activities unless exposure is explicitly required
  • Requiring robust caller authentication and authorization checks
  • Verifying that the caller owns or is permitted to use the requested automation
  • Applying deny-by-default component permissions and explicit intent handling
  • Avoiding reliance on client-supplied identifiers as proof of ownership
  • Running automated actions with the minimum privileges and data access necessary
  • Logging denied and successful invocations without exposing sensitive details

How teams detect issues like this

Detection can include static and architectural analysis of exported activities, intent filters, manifest permissions, and code paths that dispatch user-specific actions.

Code review should look for missing caller checks, authorization performed only in the user interface, trust in externally supplied action identifiers, and activity handlers that execute operations before ownership validation. Policy enforcement can require explicit authorization tests for every externally reachable component, with automated review tools used to flag exported components lacking clear access controls.

Detection can include static and architectural analysis of exported activities, intent filters, manifest permissions, and code paths that dispatch user-specific actions.

Code review should look for missing caller checks, authorization performed only in the user interface, trust in externally supplied action identifiers, and activity handlers that execute operations before ownership validation. Policy enforcement can require explicit authorization tests for every externally reachable component, with automated review tools used to flag exported components lacking clear access controls.

Sources

SourceLink
f-droid.orgf-droid.org/packages/net.canvoki.vokibot/
github.comgithub.com/FFG0d/fdroid-android-advisories/blob/main/advisories/CVE-2026-107017.md
github.comgithub.com/vokimon/vokibot

Frequently asked

questions

Exploitability depends on whether an unauthorized application or caller can reach the ShortcutDispatchActivity. It does not necessarily require a network connection, because the attack surface may be local to the device or application environment.

The attacker generally needs the ability to invoke the affected component or submit a request that reaches its action-dispatching logic. The precise access path depends on how the component is exposed and protected.

Use deny-by-default component exposure and perform explicit caller authorization and ownership checks before any configured action is selected or executed.

Treat every externally supplied component invocation and action identifier as untrusted, test authorization boundaries directly, and enforce least privilege for automated actions and connected services.

Exploitability depends on whether an unauthorized application or caller can reach the ShortcutDispatchActivity. It does not necessarily require a network connection, because the attack surface may be local to the device or application environment.

The attacker generally needs the ability to invoke the affected component or submit a request that reaches its action-dispatching logic. The precise access path depends on how the component is exposed and protected.

Use deny-by-default component exposure and perform explicit caller authorization and ownership checks before any configured action is selected or executed.

Treat every externally supplied component invocation and action identifier as untrusted, test authorization boundaries directly, and enforce least privilege for automated actions and connected services.

Find out what's already
exploitable in your codebase.