CVE-2026-67174: DOM-Based Cross-Site Scripting via Unsafe String and SVG Icon Rendering in Pivotick
Pivotick contains a DOM-based cross-site scripting vulnerability in its generic UI element resolution and icon-rendering utilities.
The tryResolveHTMLElement function treated any resolved string as HTML markup by assigning it to a <template> element through innerHTML. Strings derived from untrusted graph properties or custom rendering callbacks could therefore introduce arbitrary HTML or SVG elements into the live document. The vulnerable function was used by multiple UI components, including headers, property panels, extra panels, and tooltips.
Additionally, createIcon inserted caller-supplied svgIcon markup into a template without sanitization. An application integrating Pivotick and deriving icon markup from untrusted data could therefore expose a second script-execution path.
An unauthenticated attacker able to provide a crafted graph, property value, rendering result, or SVG icon could execute JavaScript in another user's browser when the affected content is displayed or interacted with. Successful exploitation could allow the attacker to access information available to the victim, manipulate graph data or application state, and perform actions with the victim's privileges.
The patch changes string rendering to use textContent, requiring callers to explicitly return an Element when HTML rendering is intended. It also sanitizes SVG icon markup before inserting it into the DOM.
Security readout for executives and security teams
Plain-English summary
A flaw in Pivotick can let attacker-controlled graph content or icons run JavaScript in a viewer’s browser. A successful attack could expose information, alter application state, or perform actions using the victim’s privileges. Applications are at risk only where they integrate vulnerable Pivotick code and allow untrusted content into the affected rendering paths.
Executive priority
Treat internet-facing or multi-user integrations as an immediate remediation priority because successful exploitation crosses into a victim’s browser session. Determine exposure now, restrict untrusted content where necessary, and deploy the patched behavior promptly. Do not claim compromise without separate evidence.
Technical view
Pivotick passed resolved strings and caller-supplied SVG markup through template.innerHTML without adequate sanitization. Affected paths include headers, property panels, extra panels, tooltips, and icon rendering. The referenced patch renders ordinary strings with textContent and sanitizes SVG markup, while requiring an Element for intentional HTML rendering.
Likely exposure
Prioritize web applications that use Pivotick and display graphs, property values, custom renderer output, or SVG icons influenced by untrusted users. Precise exposure cannot be determined from the supplied version metadata, which lists version “0” with a default unaffected status and identifies no fixed release.
Exploitation context
The source describes an unauthenticated, network-reachable DOM XSS condition with low complexity and no required privileges or user interaction in its CVSS vector. CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or a public exploit.
Researcher notes
CWE-79 applies. The primary sink was template.innerHTML in generic element resolution; a separate icon path accepted SVG markup. The patch’s behavioral change may affect integrations intentionally returning HTML strings, which must instead return Element objects. Exact vulnerable and fixed release versions remain unclear from the supplied records.
Mitigation direction
Apply the referenced security commit, or a vendor release confirmed to include it.
Ensure ordinary strings use textContent rather than innerHTML.
Sanitize SVG icon markup before DOM insertion.
Restrict untrusted graph, property, callback, and icon content until remediation is verified.
Check Pivotick vendor guidance for an officially fixed release and upgrade instructions.
Validation and detection
Inventory applications bundling Pivotick and record their installed package or commit versions.
Trace whether untrusted data reaches graph properties, custom renderers, tooltips, panels, headers, or icons.
Confirm resolved strings render as text in an approved test environment.
Confirm SVG markup is sanitized before insertion into the live DOM.
Verify deployed code contains the referenced patch or a vendor-confirmed equivalent.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-79: User-session and phishing behavior lookup
Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-79 · source CWE mapping
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')
Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.