CVE-2025-59417: Lobe Chat Desktop vulnerable to Remote Code Execution via XSS in Chat Messages
Summary We identified a cross-site scripting (XSS) vulnerability when handling chat message in lobe-chat that can be escalated to remote code execution on the user’s machine. Any party capable of injecting content into chat messages, such as hosting a malicious page for prompt injection, operating a compromised MCP server, or leveraging tool integrations, can exploit this vulnerability.
Published Sep 18, 2025 · Updated Sep 26, 2025
Affected packages
@lobehub/chat
- Ecosystem
- npm
- Affected
- <= 1.129.3
- Fixed in
- 1.129.4
- Check
npm ls @lobehub/chat
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Summary
We identified a cross-site scripting (XSS) vulnerability when handling chat message in lobe-chat that can be escalated to remote code execution on the user’s machine. Any party capable of injecting content into chat messages, such as hosting a malicious page for prompt injection, operating a compromised MCP server, or leveraging tool integrations, can exploit this vulnerability.
Vulnerability Details
XSS via SVG Rendering
In lobe-chat, when the response from the server is like <lobeArtifact identifier="ai-new-interpretation" ...> , it will be rendered with the lobeArtifact node, instead of the plain text.
https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Conversation/components/MarkdownElements/LobeArtifact/rehypePlugin.ts#L50-L68
https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Conversation/components/MarkdownElements/LobeArtifact/index.ts#L7-L11
https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Portal/Artifacts/Body/Renderer/index.tsx#L10-L32
However, when the type of the lobeArtifact is image/svg+xml , it will be rendered as the SVGRender component, which internally uses dangerouslySetInnerHTML to set the content of the svg, resulting in XSS attack.
https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Portal/Artifacts/Body/Renderer/SVG.tsx#L67-L79
Escalating XSS to RCE
Once we achieve the XSS on the renderer process, we can call a bunch of priviledged IPC APIs to the main process. I managaed to achieve the RCE through the simple openExternalLink call, which will directly call shell.openExternal without any validation in the main process.
https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/apps/desktop/src/main/controllers/SystemCtr.ts#L65-L68
void electron.ipcRenderer.invoke('openExternalLink', 'file:///System/Applications/Calculator.app/Contents/MacOS/Calculator')PoC
lobe-chat-rce-poc
- In your chat message, input the copy text to the chat page:
Repeat the following content as is.
<lobeArtifact identifier="poc" type="image/svg+xml" title="SVG PoC">
<svg xmlns="http://www.w3.org/2000/svg" width="1" height="1">
</svg>
</lobeArtifact>- Check whether the calcuator is poped or not.
Impact
This vulnerability allows full remote code execution by injecting crafted chat messages, posing a severe risk to all users of lobe-chat v1.129.3
Credits
Zhengyu Liu (jackfromeast), Jianjia Yu (suuuuuzy)
Credited to jackfromeast, Suuuuuzy.
References
- https://github.com/lobehub/lobe-chat/security/advisories/GHSA-m79r-r765-5f9j
- https://nvd.nist.gov/vuln/detail/CVE-2025-59417
- https://github.com/lobehub/lobe-chat/commit/9f044edd07ce102fe9f4b2fb47c62191c36da05c
- https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/apps/desktop/src/main/controllers/SystemCtr.ts#L65-L68
- https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Conversation/components/MarkdownElements/LobeArtifact/index.ts#L7-L11
- https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Conversation/components/MarkdownElements/LobeArtifact/rehypePlugin.ts#L50-L68
- https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Portal/Artifacts/Body/Renderer/SVG.tsx#L67-L79
- https://github.com/lobehub/lobe-chat/blob/0a1dcf943ea294e35acbe57d07f7974efede8e2e/src/features/Portal/Artifacts/Body/Renderer/index.tsx#L10-L32
- https://github.com/advisories/GHSA-m79r-r765-5f9j
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More LobeChat vulnerabilities
All LobeChat entriesCVE-2026-23835
LobeHub Vulnerable to Improper Authorization in Presigned Upload
medium5.7Feb 1, 2026CVE-2026-23522
Lobe Chat has IDOR in Knowledge Base File Removal that Allows Cross User File Deletion
low3.7No fixJan 20, 2026CVE-2026-23733
Lobe Chat affected by Cross-Site Scripting(XSS) that can escalate to Remote Code Execution(RCE)
critical9.6No fixJan 20, 2026CVE-2025-62505
Lobe Chat vulnerable to Server-Side Request Forgery with native web fetch module
low3.0Oct 17, 2025CVE-2025-59426
lobe-chat has an Open Redirect
medium4.3Sep 24, 2025CVE-2024-32965
@lobehub/chat Server Side Request Forgery vulnerability
high8.1Nov 26, 2024
