Skip to content

Unexpected API Key Leak

Moderate
arvinxx published GHSA-p36r-qxgx-jq2v Jun 17, 2024

Package

No package listed

Affected versions

<=0.162.24

Patched versions

0.162.25

Description

Summary

如果攻击者可以正常通过 SSO/Access Code 鉴权,那么他们可以通过在前端修改 Base URL 为自己的攻击 URL 并设定服务端请求来获得后端的真实 API Key。

If an attacker can successfully authenticate through SSO/Access Code, they can obtain the real backend API Key by modifying the base URL to their own attack URL on the frontend and setting up a server-side request.

Details

攻击流程如上所述。

The attack process is described above.

image

PoC

前端:

  1. 能通过基础鉴权(SSO/Access Code)
  2. 设置 Base URL 为私有的攻击地址。
  3. 设置请求方式为服务端请求。
  4. 自设的攻击地址处,可以从请求的 Header 中拿到 API Key 信息。

服务端:

  1. LobeChat 版本允许设置 Base URL
  2. 没有做出站流量白名单

Frontend:

  1. Pass basic authentication (SSO/Access Code).
  2. Set the Base URL to a private attack address.
  3. Configure the request method to be a server-side request.
  4. At the self-set attack address, retrieve the API Key information from the request headers.

Backend:

  1. The LobeChat version allows setting the Base URL.
  2. There is no outbound traffic whitelist.

Impact

使用 SSO/Access Code 鉴权的全体社区版 LobeChat 用户,测试版本 0.162.13。

All community version LobeChat users using SSO/Access Code authentication, tested on version 0.162.13.

Severity

Moderate
5.7
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N

CVE ID

CVE-2024-37895

Weaknesses

Credits