CVE-2026-71502
Received Received - Intake

Stored XSS in CTI-Transmute Application

Vulnerability report for CVE-2026-71502, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-08-08

Last updated on: 2026-08-08

Assigner: 5a6e4751-2f3f-4070-9419-94fb35b644e8

Description

CTI-Transmute contains a stored cross-site scripting vulnerability caused by insufficient neutralization of Vue template expression delimiters in server-rendered user-controlled data. An unauthenticated attacker can create a public conversion whose name or description contains a malicious Vue expression using the application's configured [[ ... ]] delimiters. User profile names may provide an additional injection vector. Although Jinja HTML escaping is applied, the resulting value is subsequently included in a DOM region compiled by Vue. Vue interprets the attacker-controlled value as a template expression rather than ordinary text. By accessing the JavaScript Function constructor from within the expression, an attacker can execute arbitrary JavaScript in the security context of the CTI-Transmute origin. The application's nonce-based Content Security Policy does not prevent exploitation because the Vue runtime compiler requires the unsafe-eval policy exception. The malicious payload is stored by the application and executed whenever another user opens an affected page, such as the public conversion detail page. The victim may be a normal user or an administrator. Successful exploitation could allow the attacker to: * Access data available to the victim through the application. * Extract API keys, tokens, or other sensitive information exposed to the page. * Perform authenticated actions using the victim's session. * Modify conversions or other application data. * Escalate the impact by targeting an administrator. A demonstrated payload can use [].constructor.constructor(...) to obtain the JavaScript Function constructor and execute arbitrary code. The regression tests also show that a short first-stage payload could retrieve an uncapped conversion description and evaluate a larger second-stage payload. The patch addresses the vulnerability by registering a global Jinja finalize hook that inserts a zero-width Unicode word joiner inside every Vue delimiter found in server-rendered values. This prevents Vue from recognizing the values as template expressions while preserving their visible representation.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-08-08
Last Modified
2026-08-08
Generated
2026-08-09
AI Q&A
2026-08-09
EPSS Evaluated
N/A
NVD

Affected Vendors & Products

Currently, no data is known.

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CWE-1336 The product uses a template engine to insert or process externally-influenced input, but it does not neutralize or incorrectly neutralizes special elements or syntax that can be interpreted as template expressions or other code directives when processed by the engine.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CTI-Transmute has a stored cross-site scripting flaw due to improper neutralization of Vue template expression delimiters in user-controlled data. An attacker can inject malicious Vue expressions using the application's [[ ... ]] delimiters in public conversion names or descriptions. Jinja HTML escaping is bypassed because Vue later compiles the data as a template, allowing arbitrary JavaScript execution via the Function constructor. The vulnerability is stored and triggered when other users access affected pages.

Detection Guidance

This vulnerability is specific to the CTI-Transmute application and involves stored XSS through Vue template expressions. Detection requires inspecting user-controlled fields like conversion names or descriptions for malicious Vue expressions using [[ ... ]] delimiters. Check server-rendered HTML for improperly escaped or unneutralized template expressions. Review application logs for unusual JavaScript execution patterns or unauthorized actions.

Impact Analysis

If exploited, this vulnerability allows attackers to access your data, steal API keys or tokens, perform actions on your behalf, modify conversions or other data, and escalate impact by targeting administrators. The attack occurs when you view a malicious page, even without authentication.

Compliance Impact

This vulnerability could lead to non-compliance with GDPR and HIPAA due to unauthorized access to sensitive data. Attackers may extract personal or health information, perform actions on behalf of users, or modify data, violating confidentiality and integrity requirements.

Mitigation Strategies

Apply the official patch that registers a global Jinja finalize hook to insert a zero-width Unicode word joiner inside Vue delimiters in server-rendered values. This prevents Vue from interpreting user-controlled data as template expressions.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-71502. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart