CVE-2026-72751: Stored Cross-Site Scripting in CTI-Transmute Conversion Graph via Malicious STIX/MISP Content

Published Aug 10, 2026
·
Updated

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.

Affected Software

1 affected component
CTI-Transmute

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    HTML-escape node labels, node sublabels, and edge labels before they are passed to the Pivotick graph renderer.

    Pivotick (graph rendering/labels) HTML escaping of node labels/sublabels/edge labels before passing to Pivotick = enabled
  2. Configuration

    Replace the raw-JSON popup's interpolated document.write() approach with DOM construction and assign interpolated content via textContent (no HTML interpolation).

    Pivotick (raw-JSON popup rendering) Popup rendering method = DOM construction with textContent
  3. Configuration

    Restrict graph node type values to a safe identifier character set so attacker-controlled values cannot inject markup.

    Pivotick (graph node type handling) Allowed node type character set = restricted to safe identifier characters
  4. Configuration

    Wrap node and edge property values in DOM elements and populate them using textContent to prevent Pivotick from treating attacker-controlled strings as HTML.

    Pivotick (graph properties and value rendering) Property value insertion method = DOM elements populated via textContent
  5. Configuration

    For strings processed by Pivotick's tryResolveHTMLElement, prevent use of template.innerHTML for attacker-controlled values (ensuring malicious markup cannot execute when a graph node is hovered or selected).

    CTI-Transmute (Pivotick hover/selection HTML resolution path) Pivotick tryResolveHTMLElement HTML parsing usage = avoid template.innerHTML for attacker-controlled strings

Event History

Aug 10, 2026
CVE Published
via MITRE·01:58 PM
Data Sourced
via MITRE·01:58 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-72751?

CVE-2026-72751 has a risk rating of 54.

2

What type of vulnerability is CVE-2026-72751?

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

3

How does CVE-2026-72751 affect CTI-Transmute?

CVE-2026-72751 affects CTI-Transmute by allowing attacker-controlled values to be passed to HTML-parsing sinks in the conversion graph user interface.

4

How do I mitigate CVE-2026-72751?

To mitigate CVE-2026-72751, ensure that input data is properly sanitized before processing and displaying in the user interface.

5

When was CVE-2026-72751 published?

CVE-2026-72751 was published on August 10, 2026.

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