Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessInject javascript: URL into Grid credits.href config
-
DeliveryGrid renders credits link unsanitized
-
ExploitVictim activates credits link
-
ExecutionScript executes in page origin
-
ImpactSteal session/data in application 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 | Two concrete prerequisites must both hold: (1) attacker-controlled or untrusted data must reach the Grid configuration so that credits.href can be set to a javascript: scheme URL (default vendor-supplied credits.href is a benign Highcharts link, so this requires an application that lets untrusted input influence Grid config), and (2) a user must actively activate/click the credits link (UI:A in the CVSS vector) for the script to run. Exploitation is limited by this required user interaction and by the need for config injection - it is not triggerable purely remotely against a default, static configuration. Affected: Grid Pro 2.0.0 through 3.1.0 and @highcharts/dashboards 3.2.0 through 3.6.0. The only complete fix per the vendor is upgrading to Grid Pro 3.2.0 (or dashboards 4.0.0); the advisory also provides a loadUserOptions monkey-patch workaround using AST.filterUserAttributes to sanitize credits.href before a Grid is created. |
| Impact | This is a CWE-79 DOM/stored XSS in Highcharts Grid where credits.href is applied without scheme validation, allowing a javascript: URL to execute in the hosting page's origin. The supplied CVSS 4.0 vector (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, 8.4) indicates a network vector with low attacker privilege but mandatory active user interaction (a user must click the credits link), which materially dampens real-world exploitability. The vuln.today decision label is this_week, indicating elevated but not emergency urgency. No KEV listing is present and no EPSS probability was supplied, so there is no signal of active or widespread exploitation; the only references are the vendor advisory, the fixing pull request, and the fix commit/release - i.e. patch artifacts, not weaponized exploit code. Two signals are in tension: the high 8.4 base score (driven by high confidentiality/integrity impact and privilege-origin script execution) versus the real-world constraints that the attacker must already control untrusted data flowing into the Grid configuration AND a victim must activate the credits link. Net: a genuine, patch-worthy XSS affecting applications that feed untrusted input into Grid config, but not a drop-everything mass-exploitation threat absent any KEV/EPSS evidence - prioritize for this week's patch cycle as the decision label suggests. |
| Exploit ScenarioDerived | An application renders a Highcharts Grid using configuration partly derived from untrusted input (e.g. a user- or tenant-supplied dashboard definition). The attacker sets credits.href to a javascript: URL; when a victim viewing the page clicks the Highcharts credits link, attacker script runs in the application's origin with access to its data, storage, and session state. No public working exploit code is referenced - only the vendor advisory, fixing PR, and patch commit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 28, 2026
A DOM-based cross-site scripting flaw in Highcharts Grid lets an attacker who can influence the Grid configuration set credits.href to a javascript: URL, so clicking the credits link executes attacker script in the hosting page's origin with access to that application's data, storage and session state. Affected are @highcharts/grid-pro 2.0.0 through 3.1.0 and @highcharts/dashboards 3.2.0 through 3.6.0; the vendor fixed Grid Pro in 3.2.0 and Dashboards in 4.0.0. Exploitation requires two conditions to both hold - untrusted data must reach the Grid configuration, and a user must actively click the credits link (the vector rates low privileges, PR:L, and active user interaction, UI:A) - and no public exploit has been identified at time of analysis, though the issue is triaged for remediation this week.
RemediationAI
Upgrade to the vendor-released fixed versions: @highcharts/grid-pro 3.2.0 (or later) and @highcharts/dashboards 4.0.0 (or later), for example npm install @highcharts/grid-lite@3.2.0 as shown in the advisory; if loading Grid from a CDN, pin a versioned URL such as https://cdn.jsdelivr.net/npm/@highcharts/grid-lite@3.2.0/grid-lite.js rather than a floating latest tag. The advisory states the only complete fix is updating, and it also publishes a monkey-patch workaround for environments that cannot upgrade immediately: after the Grid Pro module is imported and before any Grid is created, wrap Grid.Grid.prototype.loadUserOptions so it runs credits.href through Grid.AST.filterUserAttributes and deletes href when the filter returns nothing - this covers both Grid.grid() and grid.update() because both funnel through loadUserOptions, but it is a runtime patch applied by application code, so any Grid instance created before the hook is installed, or any code path that bypasses loadUserOptions, remains unfixed. Reduce exposure by ensuring untrusted input never reaches Grid configuration (treat credits.href as a trusted, server-side constant) and by auditing whether the credits link is rendered at all in applications that inject user-controlled config. Details and the reference patch are at https://github.com/highcharts/highcharts/security/advisories/GHSA-6hgp-fmhr-mrg4, https://github.com/highcharts/highcharts/pull/25351 and https://github.com/highcharts/highcharts/commit/45b74403acafbe9f621c4a343506721d9129e991.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 5 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
CWE-79 injection through an unvalidated URL scheme in Highcharts Grid's credits rendering. The Credits class assigned the configured credits.href string straight to the anchor element via setAttribute('href', href || ''), and the Pro subclass CreditsPro did the same, so any value including a javascript: scheme was written to the DOM. Because the anchor lives in the hosting page's origin, activating it executes script in that origin. The upstream fix (PR #25351, commit 45b74403acafbe9f621c4a343506721d9129e991) routes both paths through a new protected setHref() helper that passes the href through AST.filterUserAttributes - the shared renderer's allow-list-based HTML attribute sanitizer - and removes the href attribute entirely when the filtered value is empty. The advisory's own workaround reuses that same AST helper, confirming the fix is a scheme allow-list rather than output encoding. CPE data covers the highcharts library family plus the @highcharts/dashboards and @highcharts/grid-pro npm packages; the advisory enumerates npm/@highcharts/grid-pro >= 2.0.0 through <= 3.1.0 (fixed 3.2.0) and npm/@highcharts/dashboards >= 3.2.0 through <= 3.6.0 (fixed 4.0.0). The exact trigger mechanics beyond the credits.href assignment and the required click are described in the advisory as configuration-driven; no other exploitation path is stated in the available sources.
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 needs control over Grid config input (PR:L) and victim must click the credits link (UI:R); script crosses into the page origin (S:C) with limited C/I impact and no availability 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 2.0.0 until 3.2.0, Highcharts Grid applies credits.href to the credits link without validating the URL scheme. An attacker who controls Grid configuration can provide a javascript URL, and activating the credits link runs script in the origin of the hosting page with access to that application's data and session state.This issue is fixed in Grid Pro 3.2.0.
Technical POC Analysis
DOM-based cross-site scripting (CWE-79).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
CVE-2026-118255 is a high-severity DOM-based cross-site scripting flaw in Highcharts Grid Pro and Dashboards libraries used in our internal and customer-facing applications. An attacker who can influence the grid configuration could execute malicious script in a user's browser, potentially accessing sensitive application data and session state. Leadership should care because this could lead to data exposure or session hijacking for employees and customers, damaging trust and requiring remediation effort across multiple products.
Apply vendor patch.
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
DOM-based cross-site scripting in Highcharts Dashboards edit mode lets markup placed in the fullscreen language labels e
Improper neutralization of HTML in the Highcharts Dashboards edit-mode sidebar lets markup supplied through the Dashboar
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-112357
GHSA-6hgp-fmhr-mrg4
NVD
CVE.org
Exploit-DB