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.
The attack process is described above.
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.
All community version LobeChat users using SSO/Access Code authentication, tested on version 0.162.13.
{ "nvd_published_at": "2024-06-17T20:15:13Z", "cwe_ids": [ "CWE-200", "CWE-918" ], "severity": "MODERATE", "github_reviewed": true, "github_reviewed_at": "2024-06-17T22:28:41Z" }