Skip to main content

Highcharts EUVDEUVD-2026-112307

| CVE-2026-118244 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-28 GitHub_M GHSA-65hg-cf3f-5m39
7.2
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 HTML into chart text option
  2. Delivery
    Victim starts print via exporting menu
  3. Exploit
    beforeprint handler re-renders chart in Chromium
  4. Execution
    Trusted Types callback throws, raw markup hits innerHTML
  5. Impact
    Embedded event handler runs in 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

Four concrete prerequisites, all stated by the vendor advisory, must hold together: (1) untrusted/attacker-influenced data must reach an HTML-rendered chart text option - useHTML titles, axis labels, data labels, or text set by responsive rules (Stock, Maps, and Gantt are included as they ship from the same package); (2) the hosting page must re-render/update the chart from a beforeprint event handler; (3) the browser must be Chromium, where the Trusted Types policy callback throws while beforeprint runs, forcing the unfiltered innerHTML fallback before the allow-list is applied; and (4) printing must actually be initiated - the exporting menu's print item triggers this on its own. These conditions (reflected as AT:P and UI:A) substantially limit exploitation: a non-Chromium browser, a page that does not re-render on beforeprint, or configurations without untrusted data in chart text options are not affected. Affected versions are 12.0.0 through <12.6.1 and 13.0.0 through 13.0.2; the only complete fix stated by the vendor is upgrading to 12.6.1 or 13.1.0, with an IIFE parseMarkup override offered as a drop-in workaround for all affected versions.

Impact

This is a genuine but conditional client-side XSS (CWE-79) in a very widely deployed charting library, best treated as an important rather than emergency fix - consistent with the input's 'this_week' decision label, not act_now/emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:A, VC:H/VI:H) scores 7.2 High, but the AT:P (attack requirement) and UI:A (active user interaction) metrics correctly reflect strong real-world constraints: exploitation is confirmed by the vendor advisory to require a specific chain - untrusted data reaching HTML text options, the hosting page re-rendering the chart from a beforeprint handler, a Chromium browser where the Trusted Types callback throws, and the user actually initiating printing. No CISA KEV listing and no EPSS score are present in the input, so there is no signal of active or widespread exploitation; this is 'no public exploit identified as active exploitation.' A public PoC reference exists (the vendor's jsfiddle 'Live demo & testing' link and a regression test using '<img onerror>' markup), but it is not verified as working weaponized exploit code. Net: a legitimate priority for teams that embed untrusted data in Highcharts titles/labels and re-render on beforeprint, but the combination of required conditions makes mass, opportunistic exploitation unlikely. The DOMParser fallback detail (AT:P) is directly stated in the advisory and commit, so the mechanism is well-evidenced rather than inferred.

Exploit ScenarioDerived

An attacker gets untrusted content (e.g. a user-controlled chart title, data label, or responsive text option) into a Highcharts configuration on a page that re-renders the chart from a beforeprint handler in Chromium. When a victim starts printing - which the exporting menu's print item does on its own - the Trusted Types callback throws, the parser falls back to assigning raw markup to innerHTML before the allow-list runs, and embedded event handlers execute in the hosting page's origin. A public PoC reference (vendor jsfiddle demo) exists but is not verified as working exploit code.

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

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, Maps and Gantt products shipped in the same package - lets markup placed in HTML-rendered text options execute event handlers in the origin of the page hosting the chart when that page re-renders the chart from a Chromium beforeprint handler and printing is started. All four of those conditions must hold together, so exposure is confined to pages that route untrusted data into useHTML titles, axis labels, data labels or responsive text; the issue is rated high (CVSS 4.0 base 7.2; assessed CVSS 3.1 AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N) rather than critical. No public exploit is identified at time of analysis, and vendor-released fixes 12.6.1 and 13.1.0 are available.

RemediationAI

Vendor-released patches: upgrade to Highcharts 12.6.1 on the 12.x branch or 13.1.0 on the 13.x branch - the vendor states updating is the only complete fix - for example npm install highcharts@13.1.1, or if loading from the CDN switch to the versioned URL https://code.highcharts.com/13.1.1/highcharts.js (see https://github.com/highcharts/highcharts/releases/tag/v13.1.0 and the installation guide). For any affected version from 12.0.0 through 13.0.2 that cannot be upgraded immediately, the advisory (GHSA-65hg-cf3f-5m39) publishes a drop-in IIFE, to be executed after Highcharts loads, that overrides AST.prototype.parseMarkup so markup is parsed via DOMParser with a retry and any residual fallback goes into a detached document rather than a live element's innerHTML; a live demo and test page is linked at https://jsfiddle.net/BlackLabel/pb6jLf7g/. Note that the workaround is a JavaScript shim that must be deployed and maintained alongside the library, and that the vulnerability's own prerequisites also describe the exposure path: pages that do not re-render charts from beforeprint handlers in Chromium, or that keep untrusted data out of HTML-rendered text options entirely, do not reach the unsanitized insertion, but the vendor does not present either as a supported substitute for the patched release.

Affected VersionsENISA

highcharts 12.0.0, < 12.6.1
highcharts 13.0.0, < 13.1.0

Affected Packages

npm highcharts fix: 12.6.1, 13.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Highcharts renders rich text through an AST helper class (ts/Core/Renderer/HTML/AST.ts) that parses markup with DOMParser and then applies an element/attribute allow-list to the resulting DOM. The flaw is a CWE-79 sanitization-ordering error: when DOMParser.parseFromString throws, the parser previously fell back to creating a div and assigning the raw string to its innerHTML in the live hosting document, applying the allow-list only after the markup had already been materialised in that document. In Chromium the Trusted Types policy callback used by the parser can throw while a beforeprint handler is running (Chromium issue 40222135, referenced in the code comments), which is exactly the state a page enters when it redraws a chart from a beforeprint handler; anything parsed in that moment - useHTML titles, labels, data labels, or text set by responsive rules - is inserted unfiltered, and event handlers in it execute in the page origin once printing begins. The upstream fix (commit abde7c576793bf50b0e0636e59b49630de6dd0d5) retries DOMParser with the raw string after the first failure and, if DOMParser remains unusable, parses into a detached inert document created via H.doc.implementation.createHTMLDocument('') instead of a live element; a QUnit regression test asserts that onerror attributes are stripped and that a sentinel flag never fires across both fallback paths. CPE cpe:2.3:a:highcharts:highcharts:*:*:*:*:*:*:*:* covers the package; the CVSS 4.0 vector's AT:P (attack requires a specific pre-existing deployment condition - Chromium plus a beforeprint re-render) and UI:A reflect these environmental prerequisites.

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 7.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:L/SI:L/SA:N
vuln.today AI 7.7 HIGH

Requires untrusted config data plus a beforeprint re-render in Chromium (AC:H) and victim-initiated printing (UI:R); handlers run in the page origin beyond the component (S:C), so C:H/I:H, A:N.

3.1 AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/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
Present
Privileges Required
Low
User Interaction
Active
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:36 cve.org
HIGH 7.2

DescriptionCVE.org

Highcharts JS is a JavaScript charting library based on SVG. From 12.0.0 until 12.6.1 and 13.1.0, Highcharts falls back to assigning raw markup to innerHTML when DOMParser cannot return a document, before its allow-list is applied. In Chromium, the Trusted Types callback can throw while a beforeprint handler runs, so a page that redraws a chart during beforeprint can insert untrusted HTML text options into the hosting document. Event handlers in that markup then run in the page origin when printing begins. The issue affects HTML-rendered titles, labels, data labels, responsive text, and the Stock, Maps, and Gantt products shipped in the same package. This issue is fixed in 12.6.1 and 13.1.0.

Technical POC Analysis

CWE-79 (Improper Neutralization of Input During Web Page Generation), specifically a client-side DOM XSS where sanitization happens after parsing rather than before insertion.

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, a widely embedded charting library used across the Stock, Maps and Gantt product lines, carries a high-severity cross-site scripting flaw in its HTML-rendering text options, which can allow attacker-supplied markup to execute within the hosting application's origin. Because Highcharts is typically embedded in customer-facing and internal web applications, successful exploitation could undermine user trust, expose session data, or enable compromise of authenticated users. Leadership should care because the affected library is likely present across multiple applications, and remediation requires coordinated library updates rather than a single product fix.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
High
widely deployed commercial JS charting library across enterprise web dashboards
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

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