GHSA-cf72-vg59-4j4h
Khoj Vulnerable to Stored Cross-site Scripting In Automate (Preview feature)
Packages
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
The Automation feature allows a user to insert arbitrary HTML inside the task instructions, resulting in a Stored XSS.
### Details
The `q` parameter for the `/api/automation` endpoint does not get correctly sanitized when rendered on the page, resulting in the ability of users to inject arbitrary HTML/JS.
### PoC
```
POST /api/automation?q=%22%3E%3C%2Ftextarea%3E%3Cimg%20src%3Dx%20onerror%3Dalert(document.cookie)%3E%3Cscript%3Ealert(2)%3C%2Fscript%3E
```
### Impact
Stored XSS:

### Fix
- Added a Content Security Policy to all config pages on the web client, including the automation page
- Used DOM scripting to construct all components on the config pages, including the automation page
References
External links from the advisory. They lead to third-party sites.
- https://github.com/khoj-ai/khoj/security/advisories/GHSA-cf72-vg59-4j4h
- https://nvd.nist.gov/vuln/detail/CVE-2024-43396
- https://github.com/khoj-ai/khoj/commit/1c7a562880eeb7354325545d2cf6c5d1d1134812
- https://github.com/khoj-ai/khoj/commit/55be90cdd2f9d6a09c8bf9ceea52fc36b9201626
- https://github.com/khoj-ai/khoj