Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInject markup into Dashboards language config
-
DeliveryOperator opens edit-mode sidebar
-
ExploitLabels parsed as HTML not text
-
ExecutionEvent handler executes in page origin
-
ImpactSteal session/act as user
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 | Two concrete prerequisites must both hold: (1) untrusted data must reach the Highcharts Dashboards language configuration (the edit-mode sidebar component language strings, this.lang.sidebar), giving the attacker control over those label strings; and (2) a user must actively open the edit-mode sidebar so the affected labels render, at which point they are parsed as HTML instead of inserted as text. Limiting factors: exploitation is impossible if Edit Mode is disabled (editMode.enabled: false), and it requires the privilege to influence the language config (PR:L) plus victim interaction (UI:A), so it is not a default-config, zero-interaction remote XSS. Affected versions are @highcharts/dashboards 1.0.0 through 4.2.2; 4.2.3 renders the labels as text and removes the exposure. |
| Impact | Signals are moderate and internally consistent rather than alarming. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N, 8.4) describes a network-reachable, low-complexity stored XSS, but two metrics materially gate it: PR:L means the attacker must already be able to influence the Dashboards language configuration (untrusted data must reach that config), and UI:A means a legitimate user must actively open the edit-mode sidebar before the payload fires. The vuln.today decision label is 'this_week' (not act_now/emergency), which fits a real-but-not-urgent priority. No EPSS score, no CISA KEV listing, and no SSVC fields were supplied, so exploitation probability and automatability cannot be quantified from this input. The references are the GHSA advisory, the fix commit, and the 4.2.3 release - i.e. fix artifacts, not exploit code - so there is no public exploit identified at time of analysis. Net: this is a legitimate high-severity XSS whose real-world risk is tempered by the requirement that an attacker first get markup into the language configuration and that an operator open edit mode; it warrants prompt patching but the preconditions make opportunistic mass exploitation unlikely. |
| Exploit ScenarioDerived | An attacker who can influence the Dashboards language/localization configuration (for example via a multi-tenant or user-supplied localization pipeline) plants a language string containing an HTML event handler. When a dashboard operator later opens the edit-mode sidebar, the affected component labels are parsed as HTML and the handler executes in the origin of the hosting page, allowing session/DOM access or actions as that user. No public exploit code was provided in the input; only vendor fix references exist. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
Improper neutralization of HTML in the Highcharts Dashboards edit-mode sidebar lets markup supplied through the Dashboards language configuration execute as script in the origin of the page hosting the dashboard. Only deployments running @highcharts/dashboards 1.0.0 through 4.2.2 with Edit Mode enabled are exposed, and the attacker must both control the sidebar language strings (authenticated, PR:L) and persuade a user to open the edit-mode sidebar (UI:R). A public PoC reference is not present in the available data and no public exploit has been identified at time of analysis; fixing to 4.2.3 replaces the HTML sink with text insertion and removes the exposure.
RemediationAI
Upgrade to the fixed release: with npm run npm install @highcharts/dashboards@4.2.3, or if loading from a CDN switch to a versioned URL such as https://code.highcharts.com/dashboards/4.2.3/dashboards.js, as described in the advisory at https://github.com/highcharts/highcharts/security/advisories/GHSA-rcqf-f6h2-ccg9. If the application does not need Edit Mode, setting editMode.enabled: false removes the exposure entirely. If an upgrade must be deferred, the vendor's documented workaround is to patch Dashboards.EditMode.prototype.init once at application startup, before any board is created, so that every string entry under this.lang.sidebar is HTML-escaped (& to &, < to <, > to >); the hook runs before the sidebar is built, so the labels are already harmless when rendered - the trade-off is that any legitimate HTML previously accepted in those label strings will be displayed as literal text, matching the behavior of the fixed version. The upstream change itself (https://github.com/highcharts/highcharts/commit/e65f8c21b9974dcccfa1c600a375d836acef4a7d) is a one-line switch from innerHTML to textContent.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Highcharts Dashboards is the JavaScript (SVG-rendered) dashboarding layer of the Highcharts charting suite, distributed on npm as @highcharts/dashboards. The flaw is a classic CWE-79 cross-site scripting sink in the edit-mode sidebar: SidebarPopup.ts built component labels with gridElement.innerHTML = components[i].text, so any string in the Dashboards language configuration (this.lang.sidebar) was parsed as HTML rather than inserted as literal text. Because those strings are attacker-influenceable when untrusted data reaches the language options, markup carrying event handlers is parsed by the browser and executes in the hosting page's origin once the sidebar labels render. The upstream fix in commit e65f8c21b9974dcccfa1c600a375d836acef4a7d changes that single assignment to gridElement.textContent = components[i].text.
Know when Highcharts gets its next vulnerability
- 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
Attacker must control language config (PR:L) and victim must open the sidebar (UI:R); payload runs in the hosting page origin (S:C) with limited, typical stored-XSS confidentiality/integrity impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.3, Highcharts Dashboards edit-mode sidebar parses component language strings as HTML rather than inserting them as text. An attacker who controls the Dashboards language configuration can provide markup containing event handlers, which execute in the hosting page origin when a user opens the edit-mode sidebar and the affected labels render. This issue is fixed in 4.2.3.
Technical POC Analysis
CWE-79 (Improper Neutralization of Input During Web Page Generation, "cross-site scripting").
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A high-severity vulnerability in Highcharts Dashboards (versions 1.0.0 through 4.2.2) allows an authenticated user with control over language configuration strings to inject script that executes when another user opens the edit-mode sidebar. This impacts internal dashboard authors and any user viewing an affected dashboard in edit mode, potentially leading to session compromise or data theft. Leadership should care because it undermines the integrity of business intelligence dashboards and could expose sensitive data or user sessions within the organization.
No vendor-released patch identified at time of analysis. Interim mitigations include disabling Edit Mode for untrusted users, restricting configuration access to trusted administrators, and monitoring for suspicious activity in dashboards using Edit Mode.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
More in Highcharts
View allDOM-based cross-site scripting in Highcharts Grid (@highcharts/grid-lite and @highcharts/grid-pro) versions 2.0.0 throug
Cross-site scripting in Highcharts Dashboards (npm @highcharts/dashboards) from 1.0.0 through 4.2.1 lets an attacker who
Event-handler attribute injection in Highcharts Grid's custom SVG icon definitions (npm packages @highcharts/grid-lite a
Cross-site scripting in Highcharts Grid Pro 2.0.0 through 3.1.0 lets an attacker who can influence column configuration
A DOM-based cross-site scripting flaw in Highcharts Grid lets an attacker who can influence the Grid configuration set c
DOM-based cross-site scripting in Highcharts Dashboards edit mode lets markup placed in the fullscreen language labels e
Cross-site scripting in Highcharts JS (Core, plus the Stock, Maps and Gantt builds shipped from the same package) affect
Cross-site scripting in Highcharts JS affects the 10.x branch before 11.4.9, 12.x before 12.6.1, and 13.x through 13.0.2
Prototype pollution in the Highcharts JS charting library (6.1.0 up to 11.4.9, 12.0.0 up to 12.6.1, and 13.0.0 through 1
Prototype pollution in Highcharts JS 13.0.0 through 13.0.2 lets attacker-controlled series point data write integer-keye
Client-side cross-site scripting in Highcharts 12.0.0 through <12.6.1 and 13.0.0 through 13.0.2 - including the Stock, M
SVG anchors whose xlink:href carries a javascript: URL slip past the markup filter that Highcharts applies to href and s
EUVD-2026-112367
GHSA-rcqf-f6h2-ccg9
NVD
CVE.org
Exploit-DB