{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-94402","assignerOrgId":"9a959283-ebb5-44b6-b705-dcc2bbced522","state":"PUBLISHED","assignerShortName":"ibm","dateReserved":"2026-09-21T13:43:42.740Z","datePublished":"2026-10-20T21:31:46.027Z","dateUpdated":"2026-10-20T21:31:46.027Z"},"containers":{"cna":{"providerMetadata":{"orgId":"9a959283-ebb5-44b6-b705-dcc2bbced522","shortName":"ibm","dateUpdated":"2026-10-20T21:31:46.027Z"},"title":"IBM vulnerable to cross-site scripting (XSS) via unsanitized title truncation","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"affected":[{"vendor":"IBM","product":"@carbon/charts","versions":[{"status":"affected","version":"0.4.0","lessThanOrEqual":"1.27.19","versionType":"semver"}],"cpes":["cpe:2.3:a:ibm:carbon_charts:0.4.0:*:*:*:*:*:*:*","cpe:2.3:a:ibm:carbon_charts:1.27.19:*:*:*:*:*:*:*"]},{"vendor":"IBM","product":"@carbon/charts-react","versions":[{"status":"affected","version":"0.4.0","lessThanOrEqual":"1.27.19","versionType":"semver"}],"cpes":["cpe:2.3:a:ibm:carboncharts_react:0.4.0:*:*:*:*:*:*:*","cpe:2.3:a:ibm:carboncharts_react:1.27.19:*:*:*:*:*:*:*"]},{"vendor":"IBM","product":"@carbon/charts-angular","versions":[{"status":"affected","version":"0.4.0","lessThanOrEqual":"1.27.19","versionType":"semver"}],"cpes":["cpe:2.3:a:ibm:carboncharts_angular:0.4.0:*:*:*:*:*:*:*","cpe:2.3:a:ibm:carboncharts_angular:1.27.19:*:*:*:*:*:*:*"]},{"vendor":"IBM","product":"@carbon/charts-vue","versions":[{"status":"affected","version":"0.4.0","lessThanOrEqual":"1.27.19","versionType":"semver"}],"cpes":["cpe:2.3:a:ibm:carboncharts_vue:0.4.0:*:*:*:*:*:*:*","cpe:2.3:a:ibm:carboncharts_vue:1.27.19:*:*:*:*:*:*:*"]},{"vendor":"IBM","product":"@carbon/charts-svelte","versions":[{"status":"affected","version":"0.4.0","lessThanOrEqual":"1.27.19","versionType":"semver"}],"cpes":["cpe:2.3:a:ibm:carboncharts_svelte:0.4.0:*:*:*:*:*:*:*","cpe:2.3:a:ibm:carboncharts_svelte:1.27.19:*:*:*:*:*:*:*"]}],"descriptions":[{"lang":"en","value":"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.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>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.</p>"}]}],"references":[{"url":"https://www.ibm.com/support/pages/node/7291785","tags":["vendor-advisory","patch"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"version":"3.1","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE","baseSeverity":"MEDIUM","baseScore":6.1,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}}],"workarounds":[{"lang":"en","value":"If an immediate upgrade to v1.27.20 is not possible, consuming applications should sanitize all user-influenced strings before passing them as data[0].group (or any label field) to a MeterChart. A DOMPurify call with ALLOWED_TAGS: [] applied to the value before it reaches the chart data will neutralize the payload. This is a temporary workaround only — upgrading to v1.27.20 remains the recommended remediation.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>If an immediate upgrade to v1.27.20 is not possible, consuming applications should sanitize all user-influenced strings before passing them as data[0].group (or any label field) to a MeterChart. A DOMPurify call with ALLOWED_TAGS: [] applied to the value before it reaches the chart data will neutralize the payload. This is a temporary workaround only — upgrading to v1.27.20 remains the recommended remediation.</p>"}]}],"solutions":[{"lang":"en","value":"Please update the library to the latest version available on npm:  https://www.npmjs.com/package/@carbon/charts","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>Please update the library to the latest version available on npm: <a href=\"https://www.npmjs.com/package/@carbon/charts\" rel=\"nofollow\">https://www.npmjs.com/package/@carbon/charts</a></p>"}]}]}}}