CVE-2026-42279solidtime 是一个开源的时间追踪应用。在其 0.12.0 版本中,存在一个严重的访问控制逻辑缺陷。攻击者若在当前组织中拥有 `time-entries:update:all` 权限,即可利用 PUT API 修改属于其他组织的时间记录。该漏洞允许攻击者通过已知的外部时间条目 UUID,将其内容修改并重新绑定到自己的组织资源中,严重破坏了多租户环境下的数据隔离与完整性。官方已在 0.12.1 版本中修复此问题。
该漏洞源于 `PUT /api/v1/organizations/{organization}/time-entries/{timeEntry}` 接口缺乏严格的资源归属校验。在受影响版本中,尽管请求路径指定了攻击者所在的 `{organization}`,但后端逻辑允许传入属于其他组织的 `{timeEntry}` UUID。当攻击者拥有高权限(`time-entries:update:all`)时,系统仅验证了调用者在当前组织的权限,而未验证目标 UUID 是否属于当前组织。攻击者可构造恶意的 PUT 请求,将受害者的时间记录 ID 放入路径,并在请求体中将其关联 ID(如 project_id)修改为攻击者组织下的 ID,从而实现跨组织的数据篡改和资源窃取。