khoj-ai/khoj · Security

Khoj Vulnerable to Stored Cross-site Scripting In Automate (Preview feature)

GHSA ID
GHSA-cf72-vg59-4j4h
CVE ID
CVE-2024-43396
Severity
medium
Published
Updated
CVSS
5.4 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
CVSS v3
5.4 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N
CVSS v4
5.3 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Description

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: image

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

CWEs

References