CVE-2026-33335: CWE-939: Improper Authorization in Handler for Custom URL Scheme in go-vikunja vikunja
Vikunja is an open-source self-hosted task management platform. Starting in version 0.21.0 and prior to version 2.2.0, the Vikunja Desktop Electron wrapper passes URLs from `window.open()` calls directly to `shell.openExternal()` without any validation or protocol allowlisting. An attacker who can place a link with `target="_blank"` (or that otherwise triggers `window.open`) in user-generated content can cause the victim's operating system to open arbitrary URI schemes, invoking local applications, opening local files, or triggering custom protocol handlers. Version 2.2.0 patches the issue.
AI Analysis
Technical Summary
Vikunja is an open-source, self-hosted task management platform that uses an Electron wrapper for its desktop client. In versions from 0.21.0 up to but excluding 2.2.0, the Electron wrapper improperly handles URLs passed to window.open() by forwarding them directly to Electron's shell.openExternal() method without any validation or protocol allowlisting. This means that any URL, including those with custom URI schemes, can be opened by the underlying operating system. An attacker who can inject user-generated content containing links that open in new windows (e.g., links with target="_blank" or those triggering window.open) can exploit this behavior to cause the victim's system to launch arbitrary applications, open local files, or trigger other custom protocol handlers. This improper authorization and lack of validation corresponds to CWE-939 (Improper Authorization in Handler for Custom URL Scheme). The vulnerability does not require authentication but does require user interaction to activate the malicious link. The CVSS 4.0 score is 6.4 (medium severity), reflecting network attack vector, low attack complexity, no privileges required, but user interaction needed, and a high scope impact. The issue was patched in Vikunja version 2.2.0 by presumably adding validation or allowlisting of protocols before passing URLs to shell.openExternal(). No known exploits have been reported in the wild as of the publication date.
Potential Impact
This vulnerability can lead to significant security risks for organizations using affected versions of Vikunja Desktop. By exploiting this flaw, attackers can cause victims' operating systems to open arbitrary URI schemes, which may launch local applications, open sensitive local files, or trigger other custom protocol handlers. This can result in unauthorized actions such as executing malicious code, leaking sensitive information, or triggering unintended behaviors on the victim's machine. Since Vikunja is often used for task and project management, attackers might leverage this to target employees or collaborators by embedding malicious links in shared content. The requirement for user interaction limits automated exploitation but does not eliminate risk, especially in environments where users frequently interact with shared or untrusted content. The vulnerability affects confidentiality and integrity primarily through potential local application invocation and file access, and could also impact availability if destructive actions are triggered. Organizations relying on Vikunja Desktop without patching may expose their users to targeted attacks, especially in environments with less security awareness or where custom URI handlers are prevalent.
Mitigation Recommendations
Organizations should upgrade all Vikunja Desktop clients to version 2.2.0 or later, where this vulnerability is patched. Until upgrades can be performed, administrators should restrict or monitor user-generated content that can include links with target="_blank" or that trigger window.open, especially from untrusted sources. Implementing content sanitization or filtering to remove or neutralize such links can reduce risk. Users should be educated to avoid clicking suspicious links within Vikunja content. Additionally, organizations can configure endpoint protection solutions to monitor and block suspicious invocations of custom URI schemes or unexpected local application launches triggered by the Electron app. Network-level controls can also be employed to restrict access to known malicious domains or URLs. Finally, developers maintaining forks or custom versions of Vikunja should implement strict validation and allowlisting of protocols passed to shell.openExternal() to prevent similar issues.
Affected Countries
United States, Germany, France, United Kingdom, Canada, Australia, Netherlands, Sweden, Japan, South Korea
CVE-2026-33335: CWE-939: Improper Authorization in Handler for Custom URL Scheme in go-vikunja vikunja
Description
Vikunja is an open-source self-hosted task management platform. Starting in version 0.21.0 and prior to version 2.2.0, the Vikunja Desktop Electron wrapper passes URLs from `window.open()` calls directly to `shell.openExternal()` without any validation or protocol allowlisting. An attacker who can place a link with `target="_blank"` (or that otherwise triggers `window.open`) in user-generated content can cause the victim's operating system to open arbitrary URI schemes, invoking local applications, opening local files, or triggering custom protocol handlers. Version 2.2.0 patches the issue.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Vikunja is an open-source, self-hosted task management platform that uses an Electron wrapper for its desktop client. In versions from 0.21.0 up to but excluding 2.2.0, the Electron wrapper improperly handles URLs passed to window.open() by forwarding them directly to Electron's shell.openExternal() method without any validation or protocol allowlisting. This means that any URL, including those with custom URI schemes, can be opened by the underlying operating system. An attacker who can inject user-generated content containing links that open in new windows (e.g., links with target="_blank" or those triggering window.open) can exploit this behavior to cause the victim's system to launch arbitrary applications, open local files, or trigger other custom protocol handlers. This improper authorization and lack of validation corresponds to CWE-939 (Improper Authorization in Handler for Custom URL Scheme). The vulnerability does not require authentication but does require user interaction to activate the malicious link. The CVSS 4.0 score is 6.4 (medium severity), reflecting network attack vector, low attack complexity, no privileges required, but user interaction needed, and a high scope impact. The issue was patched in Vikunja version 2.2.0 by presumably adding validation or allowlisting of protocols before passing URLs to shell.openExternal(). No known exploits have been reported in the wild as of the publication date.
Potential Impact
This vulnerability can lead to significant security risks for organizations using affected versions of Vikunja Desktop. By exploiting this flaw, attackers can cause victims' operating systems to open arbitrary URI schemes, which may launch local applications, open sensitive local files, or trigger other custom protocol handlers. This can result in unauthorized actions such as executing malicious code, leaking sensitive information, or triggering unintended behaviors on the victim's machine. Since Vikunja is often used for task and project management, attackers might leverage this to target employees or collaborators by embedding malicious links in shared content. The requirement for user interaction limits automated exploitation but does not eliminate risk, especially in environments where users frequently interact with shared or untrusted content. The vulnerability affects confidentiality and integrity primarily through potential local application invocation and file access, and could also impact availability if destructive actions are triggered. Organizations relying on Vikunja Desktop without patching may expose their users to targeted attacks, especially in environments with less security awareness or where custom URI handlers are prevalent.
Mitigation Recommendations
Organizations should upgrade all Vikunja Desktop clients to version 2.2.0 or later, where this vulnerability is patched. Until upgrades can be performed, administrators should restrict or monitor user-generated content that can include links with target="_blank" or that trigger window.open, especially from untrusted sources. Implementing content sanitization or filtering to remove or neutralize such links can reduce risk. Users should be educated to avoid clicking suspicious links within Vikunja content. Additionally, organizations can configure endpoint protection solutions to monitor and block suspicious invocations of custom URI schemes or unexpected local application launches triggered by the Electron app. Network-level controls can also be employed to restrict access to known malicious domains or URLs. Finally, developers maintaining forks or custom versions of Vikunja should implement strict validation and allowlisting of protocols passed to shell.openExternal() to prevent similar issues.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-18T22:15:11.812Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 69c2b1b2f4197a8e3b48d1a5
Added to database: 3/24/2026, 3:45:54 PM
Last enriched: 3/24/2026, 4:07:10 PM
Last updated: 3/26/2026, 5:28:59 AM
Views: 8
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.