{"id":"CVE-2026-41518","state":"PUBLISHED","title":"Chartbrew has a stored DOM XSS via Chart Tooltip innerHTML (ChartDatasetConfig.legend)","description":"Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. In versions 4.9.0 through 5.0.0, an authenticated user with project-editor permissions can store arbitrary HTML/JavaScript in the `ChartDatasetConfig.legend` field. The payload is persisted verbatim in the database, propagated through the Chart.js rendering pipeline, and injected into the tooltip DOM element via an unguarded `innerHTML` assignment in `ChartTooltip.js`. Every unauthenticated viewer of the public dashboard triggers JavaScript execution on page load — no hover interaction is required. Browser-based Playwright verification confirmed `alert('localhost')` fires immediately and `<img src=\"x\" onerror=\"alert(document.domain)\">` is present in the `#chartjs-tooltip` DOM element. Version 5.0.1 contains a fix.","publishedAt":"2026-06-04T19:28:55.627Z","updatedAt":"2026-06-05T19:34:10.557Z","severity":{"score":7.6,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","source":"GitHub_M"},"assigner":"GitHub_M","products":["chartbrew chartbrew"],"affected":[{"vendor":"chartbrew","product":"chartbrew","versions":[{"version":">= 4.9.0, < 5.0.1","status":"affected"}]}],"references":["https://github.com/chartbrew/chartbrew/security/advisories/GHSA-6q2j-365c-7gqf"],"weaknesses":["CWE-79"],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/41xxx/CVE-2026-41518.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-41518","state":"PUBLISHED","datePublished":"2026-06-04T19:28:55.627Z","dateUpdated":"2026-06-05T19:34:10.557Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-04-20T18:18:50.682Z"},"containers":{"cna":{"title":"Chartbrew has a stored DOM XSS via Chart Tooltip innerHTML (ChartDatasetConfig.legend)","descriptions":[{"lang":"en","value":"Chartbrew is an open-source web application that can connect directly to databases and APIs and use the data to create charts. In versions 4.9.0 through 5.0.0, an authenticated user with project-editor permissions can store arbitrary HTML/JavaScript in the `ChartDatasetConfig.legend` field. The payload is persisted verbatim in the database, propagated through the Chart.js rendering pipeline, and injected into the tooltip DOM element via an unguarded `innerHTML` assignment in `ChartTooltip.js`. Every unauthenticated viewer of the public dashboard triggers JavaScript execution on page load — no hover interaction is required. Browser-based Playwright verification confirmed `alert('localhost')` fires immediately and `<img src=\"x\" onerror=\"alert(document.domain)\">` is present in the `#chartjs-tooltip` DOM element. Version 5.0.1 contains a fix."}],"affected":[{"vendor":"chartbrew","product":"chartbrew","versions":[{"version":">= 4.9.0, < 5.0.1","status":"affected"}]}],"references":[{"url":"https://github.com/chartbrew/chartbrew/security/advisories/GHSA-6q2j-365c-7gqf","name":"https://github.com/chartbrew/chartbrew/security/advisories/GHSA-6q2j-365c-7gqf","tags":["x_refsource_CONFIRM"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.6,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-06-04T19:28:55.627Z"},"source":{"advisory":"GHSA-6q2j-365c-7gqf","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/chartbrew/chartbrew/security/advisories/GHSA-6q2j-365c-7gqf","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-05T19:33:37.956153Z","id":"CVE-2026-41518","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-05T19:34:10.557Z"}}]}}}