CVE-2026-71502: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in misp cti-transmute
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.
AI Analysis
Technical Summary
CVE-2026-71502 is a stored XSS vulnerability in CTI-Transmute caused by insufficient neutralization of Vue template expression delimiters ([[ ... ]]) in server-rendered user-controlled data such as public conversion names or descriptions. An attacker can craft malicious Vue expressions that execute arbitrary JavaScript by leveraging the JavaScript Function constructor accessible within Vue templates. The vulnerability bypasses nonce-based Content Security Policies because Vue's runtime compiler requires unsafe-eval. Exploitation occurs when a victim views an affected page, enabling data theft, session hijacking, and modification of application data. The vulnerability affects versions up to and including 1.5.0. The proposed patch involves inserting a zero-width Unicode word joiner inside Vue delimiters to prevent Vue from recognizing malicious expressions, but no official fix or patch advisory is currently confirmed.
Potential Impact
Successful exploitation allows an unauthenticated attacker to execute arbitrary JavaScript in the security context of CTI-Transmute, potentially leading to data exposure, extraction of API keys or tokens, unauthorized actions using victim sessions, modification of application data, and privilege escalation by targeting administrators. The vulnerability affects all users who access maliciously crafted public conversion pages, including administrators.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The vulnerability description mentions a patch approach involving a global Jinja finalize hook to insert zero-width Unicode characters inside Vue delimiters, but no official patch or remediation level is currently documented. Until an official fix is released, users should avoid exposing public conversions with untrusted input and monitor vendor communications for updates.
CVE-2026-71502: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in misp cti-transmute
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 v4.0
Score 5.1medium
Affected software
misp
cti-transmute
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-71502 is a stored XSS vulnerability in CTI-Transmute caused by insufficient neutralization of Vue template expression delimiters ([[ ... ]]) in server-rendered user-controlled data such as public conversion names or descriptions. An attacker can craft malicious Vue expressions that execute arbitrary JavaScript by leveraging the JavaScript Function constructor accessible within Vue templates. The vulnerability bypasses nonce-based Content Security Policies because Vue's runtime compiler requires unsafe-eval. Exploitation occurs when a victim views an affected page, enabling data theft, session hijacking, and modification of application data. The vulnerability affects versions up to and including 1.5.0. The proposed patch involves inserting a zero-width Unicode word joiner inside Vue delimiters to prevent Vue from recognizing malicious expressions, but no official fix or patch advisory is currently confirmed.
Potential Impact
Successful exploitation allows an unauthenticated attacker to execute arbitrary JavaScript in the security context of CTI-Transmute, potentially leading to data exposure, extraction of API keys or tokens, unauthorized actions using victim sessions, modification of application data, and privilege escalation by targeting administrators. The vulnerability affects all users who access maliciously crafted public conversion pages, including administrators.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. The vulnerability description mentions a patch approach involving a global Jinja finalize hook to insert zero-width Unicode characters inside Vue delimiters, but no official patch or remediation level is currently documented. Until an official fix is released, users should avoid exposing public conversions with untrusted input and monitor vendor communications for updates.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- CIRCL
- Date Reserved
- 2026-08-06T20:29:59.894Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a750711bf8831d5395f5e22
Added to database: 08/06/2026, 22:13:37 UTC
Last enriched: 08/14/2026, 15:45:59 UTC
Last updated: 09/21/2026, 22:01:37 UTC
Views: 64
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.