Description
Affected versions of cti-transmute allow a tag's icon value to be stored and later interpolated into HTML through Vue's v-html. The helper mapIcon() previously constructed an HTML string directly from the icon value:


<i class="fas fa-${name}"></i>


Because the icon is user-supplied, a crafted value could break out of the intended markup and inject attacker-controlled HTML. When the affected tag was later rendered, including on the administrative triage interface, the payload could execute in the viewer's browser.


The patch mitigates the issue at multiple layers: v-html is replaced with Vue :class binding, mapIcon() now returns only a constrained FontAwesome class string, and the backend validates icons against the FontAwesome catalogue or a strict [a-z0-9-]{1,40} slug pattern before storing them.
Published: 2026-08-11
Score: 5.1 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A stored cross‑site scripting vulnerability exists in MISP cti‑transmute where the tag icon value is stored and later rendered using Vue's v-html. The server‑side helper directly injects the icon string into an HTML element, allowing a crafted icon value to break out of the intended markup and insert arbitrary HTML or JavaScript. This flaw, identified as CWE‑79, permits an attacker to execute scripts inside the browser context of any user who views the administrative triage interface.

Affected Systems

The issue affects all versions of MISP cti‑transmute that accept user‑supplied icon values for tags. Specific version ranges are not listed, so any active deployment prior to the commit that addresses the icon validation and rendering logic is potentially vulnerable. The flaw resides in the client‑side rendering of the tag icon in the admin triage page.

Risk and Exploitability

The CVSS score of 5.1 indicates a medium‑severity vulnerability. No EPSS score is published, and the vulnerability is not listed in CISA KEV, suggesting no known active exploits. The exploit requires an attacker to insert a malicious icon value when creating or editing a tag and then have an administrator or other privileged user view the affected tag in the triage interface. Successful exploitation would allow the attacker to run arbitrary scripts in the browser, potentially leading to credential theft or session hijack.

Generated by OpenCVE AI on August 11, 2026 at 10:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade MISP cti‑transmute to the latest version containing the patch that replaces v-html with a class binding and validates icons against the FontAwesome catalog or a strict [a-z0-9-]{1,40} slug pattern.
  • If an immediate upgrade is not possible, enforce server‑side validation that tag icon values match the strictly defined pattern or the known FontAwesome class list to prevent arbitrary markup injection.
  • Restrict the ability to create or modify tags to privileged users only, reducing the attack surface for potential XSS payloads.

Generated by OpenCVE AI on August 11, 2026 at 10:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 11 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 11 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
First Time appeared Misp
Misp cti-transmute
Vendors & Products Misp
Misp cti-transmute

Tue, 11 Aug 2026 09:15:00 +0000

Type Values Removed Values Added
Description Affected versions of cti-transmute allow a tag's icon value to be stored and later interpolated into HTML through Vue's v-html. The helper mapIcon() previously constructed an HTML string directly from the icon value: <i class="fas fa-${name}"></i> Because the icon is user-supplied, a crafted value could break out of the intended markup and inject attacker-controlled HTML. When the affected tag was later rendered, including on the administrative triage interface, the payload could execute in the viewer's browser. The patch mitigates the issue at multiple layers: v-html is replaced with Vue :class binding, mapIcon() now returns only a constrained FontAwesome class string, and the backend validates icons against the FontAwesome catalogue or a strict [a-z0-9-]{1,40} slug pattern before storing them.
Title cti-transmute Stored XSS via Crafted Tag Icon on Admin Triage Interface
Weaknesses CWE-79
References
Metrics cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N'}


Subscriptions

Misp Cti-transmute
cve-icon MITRE

Status: PUBLISHED

Assigner: CIRCL

Published:

Updated: 2026-08-11T13:03:25.189Z

Reserved: 2026-08-11T08:45:56.986Z

Link: CVE-2026-73159

cve-icon Vulnrichment

Updated: 2026-08-11T13:03:10.162Z

cve-icon NVD

Status : Deferred

Published: 2026-08-11T09:17:14.897

Modified: 2026-08-26T16:49:18.760

Link: CVE-2026-73159

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-11T11:00:04Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')