Skip to main content

Highcharts Grid EUVDEUVD-2026-112356

| CVE-2026-118254 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-28 GitHub_M GHSA-r5wg-q8fc-p6w2
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
    Inject untrusted string into Grid language config
  2. Delivery
    Pagination controls render in DOM
  3. Exploit
    Language string parsed via innerHTML
  4. Execution
    Event handler executes in page origin
  5. Impact
    Steal session or act as the 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, both stated by the vendor: (1) untrusted data must reach the Grid language configuration - specifically the pagination language strings such as pageInfo and pageSizeLabel - and (2) pagination must be enabled on the Grid so the pagination controls actually render. The exploit requires no additional user interaction once those hold. Limiting factors: language options are normally set by the developer rather than exposed to attacker input, so exploitation depends on an application design that pipes untrusted/tenant data into the language config; it only affects @highcharts/grid-lite and @highcharts/grid-pro versions >= 2.0.0 and <= 3.1.0, and the PR:L metric reflects that the attacker must control that configuration. The vendor provides a prototype-patch workaround that escapes '<' in lang.pageInfo and lang.pageSizeLabel, but states that upgrading to 3.2.0 is the fix.

Impact

This is a CWE-79 DOM-based XSS in Highcharts Grid where pagination language strings (pageInfo, pageSizeLabel, page-number and ellipsis elements) are written via innerHTML instead of textContent/innerText, confirmed by the GHSA advisory and the fix commit. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N, score 8.6) indicates network reach, low complexity, no user interaction, but PR:L - exploitation is NOT fully unauthenticated: an attacker must control the Grid language configuration, which in most deployments is set by the developer rather than exposed to untrusted input. The vuln.today decision label is 'this_week' rather than act_now/emergency. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so the three independent exploitation-likelihood signals are all either absent or negative. Net assessment: the headline score is high, but real-world risk is conditional on a non-default data flow (untrusted data reaching the language config) plus pagination being enabled, so for typical deployments where language strings are developer-controlled this is a lower practical priority than the 8.6 suggests; it becomes a genuine priority specifically for applications that populate Grid language options from user- or tenant-supplied data.

Exploit ScenarioDerived

An application populates Highcharts Grid pagination language strings (e.g. pageInfo or pageSizeLabel) from untrusted or tenant-supplied data and has pagination enabled. When the pagination controls render, the attacker-supplied markup containing an event handler is parsed as HTML and executes JavaScript in the hosting page's origin, with no additional user interaction required. No public exploit was identified; the issue and its innerHTML sink are documented in the vendor advisory and fix commit.

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

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

Alert me

AnalysisAIv1 – Oct 28, 2026

DOM-based cross-site scripting in Highcharts Grid (@highcharts/grid-lite and @highcharts/grid-pro) versions 2.0.0 through 3.1.0 allows an attacker who controls the Grid pagination language configuration to inject markup carrying event handlers, which then execute in the origin of the page hosting the Grid when the pagination controls render. No additional user interaction is required once untrusted data reaches the language options and pagination is enabled; the class of impact is script execution in the host page's origin, which the independent assessment scores as scope-changed partial confidentiality and integrity impact with no availability effect. There is no CISA KEV listing and no public exploit code identified at time of analysis, though the vendor advisory, fix commit and workaround are all publicly available, and the vulnerability is prioritised as 'this_week' by vuln.today.

RemediationAI

Upgrade to the vendor-fixed release 3.2.0: for npm, run npm install @highcharts/grid-lite@3.2.0 or npm install @highcharts/grid-pro@3.2.0, and for CDN deployments switch to a versioned URL such as https://cdn.jsdelivr.net/npm/@highcharts/grid-lite@3.2.0/grid-lite.js, as described in the installation guide linked from the advisory at https://github.com/highcharts/highcharts/security/advisories/GHSA-r5wg-q8fc-p6w2. The fix commit is https://github.com/highcharts/highcharts/commit/1e8ded84d52191883965641b863cf0c73eb759aa. Where an immediate upgrade is not possible, the vendor publishes a prototype-patch workaround to be executed once after loading the Grid and before creating any grid instance: it wraps Pagination.prototype.updatePageInfo and Pagination.prototype.renderPageSizeSelector and HTML-escapes '<' in the lang.pageInfo and lang.pageSizeLabel strings, so those two values can no longer open an element. The trade-off is that this is a JavaScript-level monkey patch that must be installed before any Grid is constructed and covers only the pageInfo and pageSizeLabel keys touched by those two methods - the other interpolation points changed in the fix commit (page numbers, ellipsis and option elements) are not addressed by the snippet, so upgrading remains the complete remediation. Applications that never enable pagination, or that never feed tenant/untrusted data into the Grid language configuration, are not exposed to the described trigger.

Affected VersionsENISA

highcharts < 13.0.0-beta.2
grid-pro 2.0.0, < 3.2.0
grid-lite 2.0.0, < 3.2.0

Affected Packages

npm @highcharts/grid-lite fix: 3.2.0
npm @highcharts/grid-pro fix: 3.2.0
euvd grid_lite fix: 3.2.0
euvd grid_pro fix: 3.2.0
euvd highcharts fix: 13.0.0-beta.2

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

Highcharts Grid is a JavaScript/SVG data-grid component distributed as the npm packages @highcharts/grid-lite and @highcharts/grid-pro, both covered by the supplied CPE data alongside the umbrella highcharts product entry. The flaw is CWE-79 (improper neutralisation of input during web page generation) in the DOM-based variant: the Pagination module writes its language strings into the document with innerHTML rather than textContent or innerText. The fix commit 1e8ded84d52191883965641b863cf0c73eb759aa changes five sinks in ts/Grid/Core/Pagination/Pagination.ts - the page-info element (this.pageInfoElement.innerHTML to textContent), the numbered page buttons and the ellipsis button (innerHTML to innerText), the page-size label (this.lang?.pageSizeLabel to innerText), and the generated option elements (textContent). Because the sink is markup parsing in the hosting page's origin, any element with an event handler supplied through lang.pageInfo or lang.pageSizeLabel becomes live script; the independent assessment notes the trigger requires both that untrusted data reach the language configuration and that pagination be enabled, and language options are normally developer-controlled rather than exposed to attacker input, which is why a low-privilege position (PR:L) is reflected in the scoring rather than an unauthenticated one.

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 control the Grid language configuration (PR:L); XSS runs in the hosting page origin so scope changes (S:C) with limited confidentiality/integrity impact and 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 - 19:03 EUVD
CVE Published
Oct 28, 2026 - 18:13 cve.org
HIGH 8.6

DescriptionCVE.org

Highcharts JS is a JavaScript charting library based on SVG. From 2.0.0 until 3.2.0, Highcharts Grid writes pagination language strings into the DOM as markup instead of text. An attacker who controls the Grid language configuration can provide elements with event handlers, which execute in the hosting page origin when pagination controls render. Exploitation requires pagination to be enabled but does not require additional user interaction. This issue is fixed in 3.2.0.

Technical POC Analysis

CWE-79 (Improper Neutralization of Input During Web Page Generation, cross-site scripting), DOM-based variant.

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

Why It Matters

A high-severity DOM-based cross-site scripting flaw (CVE-2026-118254) affects the Highcharts Grid components (@highcharts/grid-lite and @highcharts/grid-pro) in versions 2.0.0 through 3.1.0. Any web application embedding these libraries is exposed if it allows untrusted input into the pagination language configuration, enabling script execution in the host page's origin and risking compromise of customer sessions and data viewed through the Grid. Leadership should care because exploitation requires no user interaction and could undermine trust in customer-facing and internal portals; no public exploit has been identified at time of analysis.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
Highcharts Grid is a newer standalone component with narrower adoption than core Highcharts charts
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 Yes
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
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

63
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +43
PoC: +20
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-118245 HIGH
8.6 Oct 28

Cross-site scripting in Highcharts Dashboards (npm @highcharts/dashboards) from 1.0.0 through 4.2.1 lets an attacker who

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