CVE-2026-71502: Unauthenticated Stored Vue Template Injection Leads to Cross-Site Scripting in CTI-Transmute

Published Aug 6, 2026
·
Updated

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.

Event History

Aug 6, 2026
CVE Published
via MITRE·08:30 PM
Data Sourced
via MITRE·08:30 PM
DescriptionWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-71502?

CVE-2026-71502 has a risk rating of 80, indicating a high severity level.

2

How do I fix CVE-2026-71502?

To address CVE-2026-71502, ensure proper sanitization and validation of user inputs to neutralize Vue template expression delimiters.

3

Who is affected by CVE-2026-71502?

CVE-2026-71502 affects users of CTI-Transmute where stored cross-site scripting vulnerabilities are present.

4

What type of vulnerability is CVE-2026-71502?

CVE-2026-71502 is classified as a stored cross-site scripting (XSS) vulnerability.

5

Can an attacker exploit CVE-2026-71502 without authentication?

Yes, an unauthenticated attacker can exploit CVE-2026-71502 by creating a malicious public conversion.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203