授权漏洞解析:编辑器角色可操控管理员专属AI功能

本文详细分析了Lovable AI平台存在的权限验证漏洞,编辑器角色用户可通过API调用禁用管理员专属的AI功能,导致垂直权限提升风险,影响工作区内所有成员的AI驱动功能正常使用。

授权漏洞报告 #3371448 - 不当授权导致编辑器可切换管理员专属工作区功能(Lovable AI)

时间线

  • d0maxploit 向 Lovable VDP 提交报告
  • 2025年10月5日 下午2:15 UTC

摘要

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

重现步骤

前置条件

  • 两个账户是同一工作区 Victim-Workspace 的成员:
    • 账户 A(所有者/管理员)- 在 Victim-Workspace 中具有所有者角色
    • 账户 B(编辑器)- 在同一 Victim-Workspace 中具有编辑器角色

操作流程

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

{"approval_preference":"disable"}

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

概念验证

视频

  • Lovable_AI_Feature_POC.mp4 (8.54 MiB)

影响

根据Lovable AI文档,此功能为工作区中的所有AI驱动部分提供支持,如提示集成、内容生成和其他基于模型的操作。

如果编辑器禁用了它,所有这些AI功能在整个工作区中停止工作,破坏了每个成员的功能。由于只有管理员应该控制此设置,该漏洞允许未经授权的用户破坏工作区的运行方式,并移除团队依赖的核心功能。

附件

1个附件:Lovable_AI_Feature_POC.mp4

后续处理

  • attl_lovable Lovable VDP 工作人员将严重性从高(8.3)更新为低 - 2025年10月5日 下午8:30 UTC
  • attl_lovable Lovable VDP 工作人员关闭报告并将状态更改为已解决 - 2025年10月5日 下午8:30 UTC
  • d0maxploit 请求披露此报告 - 2025年10月5日 下午10:54 UTC

报告详情

  • 报告ID: #3371448
  • 状态: 已解决
  • 严重性: 低 (0.1 ~ 3.9)
  • 披露日期: 2025年11月4日 下午10:54 UTC
  • 弱点: 不当授权
  • CVE ID: 无
  • 赏金: 无
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计