Executive brief
The Tauri shell plugin provides functionality to open programs and files on a system using the default application handlers (like xdg-open on Linux). A flaw in protocol validation allows attackers to bypass security restrictions and invoke dangerous protocols like file://, smb://, or nfs://, leading to arbitrary code execution. This affects Tauri applications that expose the open endpoint to untrusted user input.
Technical details
The vulnerability is an improper input validation issue (CWE-20) in the open endpoint of tauri-plugin-shell. The plugin is designed to restrict which protocols can be opened by default (https, mailto), but this validation fails due to broken scope checking. An attacker can invoke dangerous protocols like file://, smb://, or nfs:// by passing untrusted input to the open endpoint, which are then executed by the system's registered protocol handler. Exploitation requires either direct exposure of the endpoint to application users or code execution in the frontend of a Tauri application. The vulnerability affects versions prior to 2.2.1, and patches are available in version 2.2.1 and later.
Affected products
- Tauri tauri-plugin-shell < 2.2.1
- Tauri @tauri-apps/plugin-shell < 2.2.1
Timeline
- 2025-04-02: disclosed: Advisory published on GitHub and OSV
- 2025-04-02: patched: Patch released in version 2.2.1