Skip to main content

Highcharts Dashboards CVE-2026-118245

| EUVDEUVD-2026-112308 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-28 GitHub_M GHSA-grj7-r4jv-pw9j
8.6
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Gain ability to influence dashboard configuration
  2. Delivery
    Set chartConstructor to a non-constructor Highcharts utility
  3. Exploit
    Embed markup/event handlers in chartOptions
  4. Execution
    Board renders and copies options onto container
  5. Impact
    Script executes in hosting page origin

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

Requires that untrusted data reach the Highcharts Dashboards component configuration and specifically control the chartConstructor property (and the accompanying chartOptions) of a HighchartsComponent. The flaw is in versions >=1.0.0 up to and including 4.2.1 (fixed in 4.2.2); it triggers automatically when the board renders, with no user interaction beyond rendering. What LIMITS exploitation: the attacker must be able to influence the board/dashboard configuration (hence PR:L - not fully unauthenticated against an untouched default), so deployments where dashboard configs are entirely developer-controlled and never carry user/tenant-supplied data are not exposed. The vendor provides a drop-in createChart override restricting chartConstructor to chart/stockChart/mapChart/ganttChart as a workaround, but states upgrading (npm @highcharts/dashboards@4.2.3 or a versioned CDN URL) is the fix.

Impact

This is a genuine priority within its deployment scope but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) describes a network-reachable, low-complexity XSS (CWE-79) that needs some privilege (PR:L) - consistent with the advisory's requirement that the attacker control, or inject untrusted data into, the Dashboards component configuration. No user interaction beyond rendering the board is required (UI:N), which raises practical exploitability wherever config content crosses a trust boundary. The vuln.today decision label is 'this_week' (not act_now/emergency), aligning with a serious-but-scheduled posture. KEV status is NO (not listed by CISA), and no EPSS score was provided, so exploitation probability cannot be quantified from the input. No public exploit identified at time of analysis - the references are a vendor GHSA advisory, the fix commit, and a release tag, not working exploit code. Net: the severity is real (script execution in the hosting page origin), but the PR:L precondition and absence of KEV/known exploitation make this a targeted, config-dependent risk rather than mass-exploitable; prioritize patching for any deployment where dashboard configuration can carry untrusted data.

Exploit ScenarioDerived

An application renders a Highcharts Dashboard whose configuration is partly derived from untrusted input (e.g., a user-supplied or multi-tenant board definition). The attacker sets chartConstructor to a non-constructor public Highcharts utility function so their chartOptions are copied onto the container element as attributes/markup, and event handlers execute in the hosting page's origin as soon as the board renders. No public exploit code was identified, but the mechanism is fully documented in the vendor GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Cross-site scripting in Highcharts Dashboards (npm @highcharts/dashboards) from 1.0.0 through 4.2.1 lets an attacker who can influence dashboard configuration supply an arbitrary chartConstructor value, which the component resolves as an unchecked lookup into the Highcharts namespace and then invokes with the container element and chartOptions; utility members reached this way copy attacker-controlled options onto the container as properties or attributes, so markup and event handlers execute in the origin hosting the page when the board renders, with no user interaction beyond rendering. The CVSS vector requires low-privileged access (PR:L) because the attacker must get untrusted data into the board configuration, and the independently assessed vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N) rates confidentiality and integrity impact as low with scope change rather than full compromise, while the CNA score is 8.6. No public exploit code and no CISA KEV entry are associated with this CVE at time of analysis, but a vendor workaround and a patched release exist and the issue is prioritized as this_week.

RemediationAI

Upgrade Highcharts Dashboards to the patched release: with npm run npm install @highcharts/dashboards@4.2.3 as the advisory instructs (the fixed release is tagged dashboards-v4.2.2 and npm metadata lists 4.2.2 as the fix point), and if loading from a CDN switch to a versioned URL such as https://code.highcharts.com/dashboards/4.2.3/dashboards.js rather than a floating latest path; for the bundled library, EUVD tracks highcharts < 13.1.0 as affected, so align that dependency as well. If the update cannot be applied immediately, the vendor supplies a drop-in workaround to paste immediately after importing the libraries and before any board renders: wrap Dashboards.HighchartsComponent.prototype.createChart so that any this.chartConstructor value outside the allowlist ['chart','stockChart','mapChart','ganttChart'] is reset to 'chart' before delegating to the original method - its trade-off is that it silently downgrades unexpected constructor requests, must be re-applied whenever the library is reloaded, and does not fix the underlying unchecked lookup elsewhere in the code path, so it is a stopgap only. Regardless of patch status, ensure board configurations are not built from untrusted user or tenant input, since exploitation requires attacker-influenced configuration to reach the HighchartsComponent; deployments where dashboard configs are entirely developer-controlled and never carry user-supplied data are not exposed. Track the advisory at https://github.com/highcharts/highcharts/security/advisories/GHSA-grj7-r4jv-pw9j and the fix commit at https://github.com/highcharts/highcharts/commit/98d3652cdc4f66fbccbbb8b4184ecd8f647f74de.

Affected VersionsENISA

dashboards 1.0.0, < 4.2.3
highcharts < 13.1.0

Affected Packages

npm @highcharts/dashboards fix: 4.2.2
euvd dashboards fix: 4.2.3
euvd highcharts fix: 13.1.0

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 renders boards from a declarative configuration, and its HighchartsComponent selects a chart factory from the Highcharts namespace object (referred to internally as charter) using the user-supplied chartConstructor value. Before the fix the code performed a plain property read, charter[this.chartConstructor], with a fallback to 'chart' only when the value was falsy, so any other public member of the namespace - including utility functions - could be named. Those utilities are invoked with the component's container element and its chartOptions as arguments, and their normal behavior of copying options onto the target object results in attacker-controlled option keys becoming DOM properties or attributes on the container; values containing markup or event-handler attributes therefore execute in the hosting page origin. The commit 98d3652cdc4f66fbccbbb8b4184ecd8f647f74de closes this by allowlisting only 'chart', 'stockChart', 'mapChart' and 'ganttChart' (using an indexOf check that resets anything else to 'chart') and by verifying with Object.hasOwnProperty.call before reading the factory. This is CWE-79 (improper neutralization of input during web page generation), and the trigger is configuration-driven: it fires automatically during board rendering whenever untrusted data reaches the Dashboards component configuration, with no additional user interaction.

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

Vendor (GitHub_M) PRIMARY 8.6 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
vuln.today AI 6.4 MEDIUM

Attacker must influence dashboard config (PR:L); script runs in the hosting page origin so scope changes (S:C); stored-XSS style low confidentiality/integrity impact, no availability impact.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 28, 2026 - 18:18 EUVD
CVE Published
Oct 28, 2026 - 17:44 cve.org
HIGH 8.6

DescriptionCVE.org

Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards uses chartConstructor as an unchecked property lookup in the Highcharts namespace and invokes the selected member with the component container and chartOptions. An attacker who controls dashboard configuration can select a public utility function instead of a supported chart constructor, causing attacker-controlled options to be copied to the container as properties or attributes. Markup and event handlers can then execute in the hosting page origin when the board renders. No user interaction beyond rendering the board is required. This issue is fixed in 4.2.2.

Technical POC Analysis

CWE-79 (Improper Neutralization of Input During Web Page Generation).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Highcharts Dashboards versions 1.0.0 through 4.2.1 contain a high-severity cross-site scripting flaw (CVE-2026-118245) that allows a low-privileged attacker who can influence dashboard configuration to execute arbitrary script in the hosting page's origin when the board renders. Any organization using the affected npm package to embed dashboards for customers or internal users is exposed to session hijacking, data theft, and defacement without user interaction beyond page load. Leadership should prioritize remediation because the vulnerability affects confidentiality and integrity of web-facing applications and could erode customer trust if exploited.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
Highcharts is widely used, but the vulnerable Dashboards module has narrower adoption
Threat Intel
1
1 source
Social Media
1
Sightings
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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
High

Priority Score

43
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
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.

CVE-2026-118254 HIGH POC
8.6 Oct 28

DOM-based cross-site scripting in Highcharts Grid (@highcharts/grid-lite and @highcharts/grid-pro) versions 2.0.0 throug

CVE-2026-118242 HIGH
8.5 Oct 28

Event-handler attribute injection in Highcharts Grid's custom SVG icon definitions (npm packages @highcharts/grid-lite a

CVE-2026-116797 HIGH
8.5 Oct 28

Cross-site scripting in Highcharts Grid Pro 2.0.0 through 3.1.0 lets an attacker who can influence column configuration

CVE-2026-118255 HIGH POC
8.4 Oct 28

A DOM-based cross-site scripting flaw in Highcharts Grid lets an attacker who can influence the Grid configuration set c

CVE-2026-118253 HIGH
8.4 Oct 28

DOM-based cross-site scripting in Highcharts Dashboards edit mode lets markup placed in the fullscreen language labels e

CVE-2026-118252 HIGH
8.4 Oct 28

Improper neutralization of HTML in the Highcharts Dashboards edit-mode sidebar lets markup supplied through the Dashboar

CVE-2026-118251 HIGH
8.4 Oct 28

Cross-site scripting in Highcharts JS (Core, plus the Stock, Maps and Gantt builds shipped from the same package) affect

CVE-2026-118246 HIGH
8.4 Oct 28

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

CVE-2026-118250 HIGH
7.2 Oct 28

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

CVE-2026-118249 HIGH
7.2 Oct 28

Prototype pollution in Highcharts JS 13.0.0 through 13.0.2 lets attacker-controlled series point data write integer-keye

CVE-2026-118244 HIGH
7.2 Oct 28

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

CVE-2026-116796 HIGH
7.2 Oct 28

SVG anchors whose xlink:href carries a javascript: URL slip past the markup filter that Highcharts applies to href and s

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