/

CVE-2026-96454

Severity:

HIGH RISK

(8.2)

Missing Authorization (CWE-862) in Pake Tauri Apps

CVE-2026-96454

Deferred

Vulnerability type

Category:

Missing Authorization

CWE:

CWE-862, CWE-923

Impact:

Unauthorized Native Command Execution

Severity:

HIGH RISK

(8.2)

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

Pake-generated desktop applications expose Tauri IPC to arbitrary HTTPS origins while making the global Tauri API available to page JavaScript. As a result, scripts from wrapped sites, third-party resources, or other HTTPS content may invoke application-registered native commands without authorization; when combined with the separately tracked path traversal issue, this could enable arbitrary file writes and persistent code execution.

Affected context

The issue occurs in Pake applications generated from templates that enable global Tauri access and allow IPC from wildcard HTTPS origins. It is most relevant when an application displays content from external or user-influenced sources, loads third-party scripts, or registers native app commands without applying an authorization check. The exposed download_file command increases the impact when combined with the separately tracked path traversal vulnerability.

Exploit preconditions

  • Attack surface: JavaScript running inside a Pake-generated Tauri application
  • Required access: The attacker must control, influence, or supply content that is rendered by the application's webview, or rely on a compromised third-party resource loaded by that content
  • Trigger point: Invocation of the globally exposed Tauri IPC API from page JavaScript
  • Why exploitation is possible: Wildcard HTTPS origin access grants IPC reachability broadly, while application-registered commands are not protected by the plugin-command ACL checks
  • Additional condition for file impact: Exploitation of the download_file path traversal issue tracked separately as CVE-2026-82635

Why this happens

The underlying bug is a missing authorization boundary between untrusted web content and privileged native application commands. The template combines broad remote-origin IPC permissions with withGlobalTauri, exposing the invocation API to ordinary page scripts. Tauri's ACL enforcement covers plugin commands but does not authorize commands registered directly by the application, allowing reachable app commands to be invoked without command-specific or origin-specific checks. This behavior maps primarily to CWE-862: Missing Authorization and is also related to CWE-923: Improper Restriction of Communication Channel to Intended Endpoints.

Potential impact

  • Untrusted page scripts may invoke privileged native application commands
  • Attackers could abuse exposed commands to access or manipulate local resources, depending on command behavior
  • The download_file command could contribute to arbitrary file writes when chained with CVE-2026-82635
  • Arbitrary file writes could enable persistence or code execution in affected deployment contexts
  • A compromised third-party script, CDN resource, or wrapped website could gain unintended desktop privileges

General mitigation guidance

Mitigation generally focuses on reducing the trust granted to web content and enforcing authorization at every native command boundary.

Common defensive patterns include:

  • Restricting IPC origins to the specific trusted application origin rather than wildcard HTTPS patterns
  • Avoiding global exposure of native invocation APIs when page scripts do not require it
  • Applying explicit authorization checks to application-registered commands, not only plugin commands
  • Allowing native commands to accept only narrowly validated inputs and intended resource locations
  • Separating untrusted or third-party content from privileged application contexts
  • Running the desktop application with the least local privilege needed for its function
  • Treating downloaded content and embedded scripts as untrusted dependencies

How teams detect issues like this

Detection can include:

  • Static analysis for broad remote-origin IPC permissions and global Tauri API exposure
  • Searches for generate_handler! registrations that lack command-level authorization checks
  • Code review of native commands reachable from webview JavaScript, especially file and process operations
  • Tests that load content from an untrusted origin and verify that native commands are unavailable or denied
  • Policy checks requiring explicit origin allowlists and prohibiting wildcard IPC permissions
  • Dependency and supply-chain monitoring for third-party scripts loaded by wrapped sites

Automated code review and configuration-scanning tools can help identify these patterns before applications are distributed.

Sources

SourceLink
github.comgithub.com/tw93/Pake
github.comgithub.com/tw93/Pake/blob/main/src-tauri/capabilities/default.json
github.comgithub.com/tw93/Pake/blob/main/src-tauri/tauri.conf.json
github.comgithub.com/tw93/Pake/releases/tag/V3.17.0
v2.tauri.appv2.tauri.app/security/capabilities/

Frequently asked

questions

It is not a standalone network service vulnerability. Exploitation generally requires a user to run an affected Pake application and for attacker-controlled or compromised web content to execute inside its webview.

Direct local access is not necessarily required. A malicious website, injected script, compromised CDN resource, or other content loaded by the application may provide the execution context, provided the application grants it IPC access.

Use a narrow origin allowlist, avoid exposing the global Tauri API to untrusted pages, and enforce explicit authorization for every application-registered native command.

Treat all webview content as untrusted by default, minimize native capabilities, validate command inputs and file paths, and enforce security policies that prevent wildcard IPC permissions and unauthorized command exposure.

Find out what's already
exploitable in your codebase.