Description
Stored Cross-Site Scripting (XSS) in TaskRunHandler.post() in web/handlers/task.py in QD 20220208 through 20250803. When a task is run via /task/<taskid>/run, the handler renders task log content (logtmp) into the HTML response using Python % string formatting without HTML encoding. logtmp is populated from the exception object or from new_env.variables.__log__, which is attacker-controlled via the template extract_variables mechanism. A low-privileged authenticated attacker can create a crafted HAR template that extracts arbitrary HTML/JavaScript into the __log__ variable via the api://util/unicode endpoint. When a victim triggers the task run, the embedded script executes in the victim browser within the QD application context.
Published: 2026-08-31
Score: 5.4 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Patch
AI Analysis

Impact

The vulnerability is a stored XSS in TaskRunHandler.post() in QD's web/handlers/task.py. The handler renders task log content into the HTTP response without encoding it, allowing the content of logtmp to be injected as raw HTML/JavaScript. Logtmp is derived from an exception object or from new_env.variables.__log__, which can be set by an attacker through the template extract_variables mechanism. An authenticated user with low privileges can craft a HAR template that inserts arbitrary JS into the __log__ variable via the api://util/unicode endpoint. When a victim subsequently triggers the task run, the injected script executes in the victim's browser within the QD application context.

Affected Systems

The affected product is QD, versions 20220208 through 20250803, inclusive. No vendor information was provided, and the vulnerability applies to all instances of this software within that version range.

Risk and Exploitability

Because the flaw is a stored XSS, a successful exploitation would allow the attacker to run arbitrary JavaScript in the context of a victim who visits the /task/<taskid>/run page. The EPSS score is < 1% and the vulnerability is not listed in CISA’s KEV catalog, so the current likelihood of exploitation is low but unknown. The CVSS score of 5.4 indicates moderate severity, and the lack of a public patch or workaround means that an organization must mitigate by applying a newer version or by restricting the vulnerable functionality. Until a fix is issued, the risk is moderate for organizations that permit low‑privileged users to trigger task runs and do not employ input filtering.

Generated by OpenCVE AI on September 1, 2026 at 23:54 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update QD to a version later than 20250803 that removes the vulnerability.
  • Restrict the /task/<taskid>/run operation to trusted administrators to limit exposure to low‑privileged users.
  • Implement input validation or output encoding to sanitize __log__ content before rendering in the HTML response.

Generated by OpenCVE AI on September 1, 2026 at 23:54 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 02 Sep 2026 00:15:00 +0000

Type Values Removed Values Added
Title Stored Cross‑Site Scripting via Task Run Logging in QD

Tue, 01 Sep 2026 22:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 01 Sep 2026 14:45:00 +0000

Type Values Removed Values Added
First Time appeared Qd
Qd qd
Vendors & Products Qd
Qd qd

Mon, 31 Aug 2026 16:45:00 +0000

Type Values Removed Values Added
Title Stored Cross‑Site Scripting via Task Run Logging in QD
Weaknesses CWE-79

Mon, 31 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
Description Stored Cross-Site Scripting (XSS) in TaskRunHandler.post() in web/handlers/task.py in QD 20220208 through 20250803. When a task is run via /task/<taskid>/run, the handler renders task log content (logtmp) into the HTML response using Python % string formatting without HTML encoding. logtmp is populated from the exception object or from new_env.variables.__log__, which is attacker-controlled via the template extract_variables mechanism. A low-privileged authenticated attacker can create a crafted HAR template that extracts arbitrary HTML/JavaScript into the __log__ variable via the api://util/unicode endpoint. When a victim triggers the task run, the embedded script executes in the victim browser within the QD application context.
References

cve-icon MITRE

Status: PUBLISHED

Assigner: mitre

Published:

Updated: 2026-09-01T15:21:09.258Z

Reserved: 2026-06-07T00:00:00.000Z

Link: CVE-2026-51153

cve-icon Vulnrichment

Updated: 2026-09-01T15:21:02.630Z

cve-icon NVD

Status : Deferred

Published: 2026-08-31T16:18:34.807

Modified: 2026-09-01T16:16:57.920

Link: CVE-2026-51153

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-02T00:00:06Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')