Skip to main content

IBM Carbon Charts CVE-2026-94402

| EUVDEUVD-2026-106856 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-10-20 psirt@us.ibm.com GHSA-xgrw-h689-334j
6.1
CVSS 3.1 · Vendor: us
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Inject script payload into MeterChart title field
  2. Delivery
    Victim opens dashboard rendering the chart
  3. Exploit
    Title exceeds container width triggering truncateTitle()
  4. Execution
    Unsanitized innerHTML write executes JavaScript
  5. Impact
    Hijack session / exfiltrate data in victim context

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 the consuming application to pass attacker-influenced text into a Carbon Charts MeterChart component's title, AND that title must exceed the available container width so the vulnerable Title.truncateTitle() code path performs the unsanitized innerHTML write (a short title that is not truncated does not trigger the sink). The affected code exists only in Carbon Charts versions 0.4.0 through 1.27.19. Limiting factors: user interaction is required (UI:R) - a victim must load the page rendering the chart; the attacker does not need application privileges at the library level, but the practical ability to plant the payload depends on whether the host app exposes a user-controllable label and on its own sanitization. This is not exploitable against a default standalone configuration with no untrusted title input.

Impact

This is a moderate-severity reflected/stored DOM-based XSS (CWE-79) in IBM Carbon Charts, rated CVSS 6.1 with vector AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N. The network vector, low complexity, and no-privilege requirement raise the theoretical reach, but exploitation is gated by UI:R - a victim must render a MeterChart whose attacker-influenced title overflows its container - which caps impact at the limited confidentiality/integrity typical of session-context script execution (no availability impact). No EPSS score, CISA KEV listing, POC, or SSVC decision point was supplied with this input, so there is no evidence of active exploitation or automatable mass-exploitation; this reads as a standard client-side XSS to be patched on a normal cadence rather than an emergency. Real-world risk is highly dependent on the consuming application: the severity materializes only where untrusted user input is allowed to flow into a MeterChart title, so the effective privilege needed to plant the payload is defined by the host app, not the library. Absence of exploitation signals (EPSS/KEV/POC) is a gap in the provided data, not proof of low interest - treat it as unknown rather than confirmed-benign.

Exploit ScenarioDerived

An attacker submits a crafted, overly long MeterChart title (e.g., through a profile field, dashboard label, or report name that an application renders via Carbon Charts) containing an HTML/script payload. When a victim loads the dashboard and the title exceeds the container width, Title.truncateTitle() writes the attacker's substring back into the DOM via innerHTML, executing the script in the victim's session. No public exploit code was identified at time of analysis.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 20, 2026

Cross-site scripting in IBM Carbon Charts 0.4.0 through 1.27.19 lets remote attackers execute arbitrary JavaScript in a victim's browser session when the MeterChart title text exceeds the available container width and is truncated. The CVSS vector (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N) indicates unauthenticated remote exploitation that requires the victim to load a page rendering the chart, with scope change and limited confidentiality/integrity impact. No public exploit code was identified at time of analysis, and practical exploitation depends on the host application passing attacker-influenced text into a MeterChart title and that title being long enough to trigger truncation.

RemediationAI

No vendor-released fixed version was identified in the provided data, so confirm the current patched release and upgrade guidance in IBM's advisory at https://www.ibm.com/support/pages/node/7291785 before upgrading Carbon Charts beyond 1.27.19. Until a patched release is applied, the most direct compensating control is to HTML-encode or reject angle brackets and other markup characters in any title text passed to MeterChart, and to enforce a strict maximum title length; the trade-off is that escaped text may render as visible entities and that aggressive input validation can break legitimate localized or formatted titles. Alternatively, patch the library locally by replacing the innerHTML assignment in Title.truncateTitle() with a textContent write, understanding that this removes any intended inline markup from truncated titles. Deploying a Content-Security-Policy that disallows unsafe-inline script reduces execution impact but may break unrelated application features and should be tested in report-only mode first. Review host applications to ensure user-controllable data is not routed into chart title props without sanitization.

Affected VersionsENISA

@carbon/charts-vue 0.4.0 ≤1.27.19
@carbon/charts-angular 0.4.0 ≤1.27.19
@carbon/charts 0.4.0 ≤1.27.19
@carbon/charts-react 0.4.0 ≤1.27.19
@carbon/charts-svelte 0.4.0 ≤1.27.19

Affected Packages

euvd carbon_charts no fix
euvd carbon_charts_angular no fix
euvd carbon_charts_react no fix
euvd carbon_charts_svelte no fix
euvd carbon_charts_vue no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 5 packages in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

IBM Carbon Charts is IBM's D3-based charting library built for the Carbon Design System and consumed by web applications to render data visualizations. The MeterChart component's Title.truncateTitle() routine measures the available container width, slices a user-supplied label string to fit, and writes the truncated substring back to the DOM using innerHTML without HTML-escaping. This is a DOM-based cross-site scripting flaw (CWE-79): any markup embedded in the title string is parsed as HTML and executed in the page origin. Because the vulnerable code lives inside the client-side library, the issue manifests only when the consuming application supplies attacker-influenced title text and the rendered title exceeds the container width; a short title that is not truncated does not reach the sink. The CVSS scope change (S:C) reflects that script executes in the host application's origin rather than the library's own context, and UI:R reflects that a victim must load the page that renders the affected chart.

Know when the next one hits your stack

  • 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

Vendor (us) PRIMARY 6.1 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
vuln.today AI 6.1 MEDIUM

Network-delivered client-side XSS with low complexity and no library-level privilege; requires victim rendering (UI:R), scope change into browser context (S:C), limited C/I and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (us).

CVSS VectorVendor: us

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

IBM Carbon Charts 0.4.0 through 1.27.19 is vulnerable to cross-site scripting. The MeterChart component's Title.truncateTitle() function re-inserts a substring of user-supplied label text into the DOM via an unsanitized innerHTML write when the title exceeds the available container width. A remote attacker could exploit this vulnerability to execute arbitrary JavaScript in the victim's browser session.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular IBM/Carbon open-source charting library, common in enterprise React/web apps
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy