| Title | Anil-matcha Open-Generative-AI main Cross Site Scripting |
|---|
| Description | In Open-Generative-AI, the studio components (ImageStudio, VideoStudio, CinemaStudio, LipSyncStudio) render generation history loaded from localStorage into innerHTML templates without HTML escaping (ImageStudio.js renderHistory at lines 1016-1048, sink at 1022-1029; equivalent sinks in VideoStudio.js:929-936, CinemaStudio.js:423-428, LipSyncStudio.js:544-551). History is rendered automatically on page load (ImageStudio.js:1069-1078). A history entry whose url or prompt value contains a double quote or angle brackets breaks out of the src/alt attribute and injects an event handler, resulting in DOM-based XSS that executes on page load. In the Electron desktop build, the injected script can steal the muapi_key from localStorage/cookies, invoke the localAI IPC surface exposed by preload (model deletion/download, wan2gp probing of arbitrary URLs), and trigger shell.openExternal through window.open.
|
|---|
| Source | ⚠️ https://github.com/Anil-matcha/Open-Generative-AI/issues/309 |
|---|
| User | Default01 (UID 100307) |
|---|
| Submission | 08/03/2026 13:15 (1 month ago) |
|---|
| Moderation | 09/12/2026 21:22 (1 month later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 403184 [Anil-matcha Open-Generative-AI up to 1.0.11/2.0.0 Studio Components ImageStudio.js renderHistory cross site scripting] |
|---|
| Points | 20 |
|---|