Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCreate unauthenticated public conversion
-
DeliveryInject `[[ ]]` Vue template payload in name or description
-
ExploitVictim navigates to conversion detail page
-
InstallVue runtime compiler evaluates attacker expression
-
C2Escalate via Function constructor (`[].constructor.constructor`)
-
ExecuteExecute arbitrary JavaScript in victim browser origin
-
ImpactExfiltrate API keys or replay authenticated session actions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the CTI-Transmute instance permits creation of public conversions accessible to other users - the advisory explicitly describes the attacker creating a 'public conversion.' The Vue runtime compiler must be active (not the precompiled runtime-only build), and the application must be configured with |
| Impact | The CVSS 4.0 score of 5.1 (Medium) with vector AV:N/AC:L/AT:N/PR:N/UI:A reflects genuinely low attack complexity and no privilege requirement for the injection step, but the UI:A metric (active victim interaction) and browser-scoped impact constrain the score. In practice the stored nature of the payload is a meaningful risk amplifier: the attacker injects once, and the payload executes for every subsequent visitor - including administrators - without further attacker involvement. The |
| Exploit ScenarioDerived | An unauthenticated attacker visits the CTI-Transmute public interface and creates a conversion whose description contains |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 06, 2026
Stored Vue template injection in CTI-Transmute ≤ 1.5.0 allows an unauthenticated attacker to execute arbitrary JavaScript in the browser of any user who views a compromised public conversion detail page. The attack bypasses Jinja2 HTML escaping because server-rendered values are injected into DOM regions subsequently compiled by Vue's runtime engine, which interprets the attacker-controlled [[ ... ]] expressions as live template code. The application's nonce-based CSP provides no protection because Vue's runtime compiler requires the unsafe-eval exception, permitting Function constructor escalation; no public exploit code beyond the proof-of-concept payload technique described in the advisory has been identified at time of analysis, and this CVE is not listed in CISA KEV.
RemediationAI
Upgrade CTI-Transmute beyond version 1.5.0 once a patched release is published; the fix registers a global Jinja finalize hook that inserts a zero-width Unicode word joiner (U+2060) inside every [[ and ]] Vue delimiter found in server-rendered values, breaking Vue's delimiter recognition while leaving visible text unchanged - the patched version number is not independently confirmed from available data, so monitor the MISP CTI-Transmute repository for a tagged release. As a compensating control pending the patch, administrators should disable or restrict public conversion creation to authenticated and trusted users only, which eliminates the unauthenticated injection vector; note this trade-off reduces the tool's collaborative utility. A more structural mitigation is migrating from Vue's runtime compiler build to the precompiled (runtime-only) build, which would remove the unsafe-eval CSP requirement and prevent Function constructor escalation; however, this requires refactoring all in-browser template compilation and is a non-trivial application change. Removing unsafe-eval from the CSP without migrating off the runtime compiler would break application functionality and is not a standalone option.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CTI-Transmute (cpe:2.3:a:misp:cti-transmute:*:*:*:*:*:*:*:*, versions ≤ 1.5.0) is a MISP-ecosystem tool for converting Cyber Threat Intelligence formats. The application uses Vue.js with its runtime compiler enabled - the compiler build, not the leaner runtime-only build - and configures [[ ... ]] as its template expression delimiters. Jinja2 HTML escaping is applied server-side before values are rendered into the page, but this escaping is applied too early in the pipeline: the escaped output is placed into a DOM region that Vue's runtime compiler then processes as a template. CWE-79 (Improper Neutralization of Input During Web Page Generation) identifies the root cause class: server-side escaping is insufficient when the same content is later consumed as executable template syntax by a client-side framework. Because the runtime compiler must evaluate template expressions dynamically, it requires the unsafe-eval Content Security Policy directive, which eliminates the protection a nonce-based CSP would otherwise provide against injected script. The [].constructor.constructor(...) escalation path is a well-known technique for reaching the JavaScript Function constructor from within sandboxed Vue expressions, enabling full arbitrary JavaScript execution. A two-stage payload variant - where a short first-stage retrieves a larger second-stage payload from an uncapped conversion description field - is also documented in the advisory.
Know when Misp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N
Network-delivered stored XSS with no auth required for injection (PR:N), victim page-visit required (UI:R), scope change to victim browser session (S:C), limited C/I impact only.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
An issue was discovered in MISP 2.4.9x before 2.4.99. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
An issue was discovered in MISP before 2.4.158. Rated critical severity (CVSS 9.8), this vulnerability is remotely explo
app/Controller/Component/IndexFilterComponent.php in MISP before 2.4.167 mishandles ordered_url_params and additional_de
SQL injection in MISP threat intelligence platform versions prior to 2.5.37 allows remote unauthenticated attackers to m
An issue was discovered in MISP before 2.4.158. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitab
MISP 2.4.172 mishandles different certificate file extensions in server sync. Rated high severity (CVSS 7.5), this vulne
In MISP before 2.4.148, app/Lib/Export/OpendataExport.php mishandles parameter data that is used in a shell_exec call. R
An issue was discovered in app/Controller/UsersController.php in MISP 2.4.92. Rated critical severity (CVSS 9.8), this v
An issue was discovered in MISP 2.4.128. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
MISP before 2.4.135 lacks an ACL check, related to app/Controller/GalaxyElementsController.php and app/Model/GalaxyEleme
app/View/Elements/genericElements/IndexTable/Fields/generic_field.ctp in MISP 2.4.144 does not sanitize certain data rel
MISP 2.4.148, in certain configurations, allows SQL injection via the app/Model/Log.php $conditions['org'] value. Rated
EUVD-2026-54259
GHSA-6x7q-w685-49vg
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB