Skip to main content

Highcharts Dashboards EUVDEUVD-2026-112362

| CVE-2026-118248 MEDIUM
Improperly Controlled Modification of Object Prototype Attributes (Prototype Pollution) (CWE-1321)
2026-10-28 GitHub_M
6.9
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Inject malicious propertyPath into component editableOptions
  2. Delivery
    User opens component in Dashboards edit mode
  3. Exploit
    Edit walks path and writes value onto Object.prototype
  4. Execution
    Polluted property later read by page JavaScript
  5. Impact
    Application-dependent integrity compromise

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V3 - Web Frontend Security Prototype pollution prevention
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to control a Dashboards component's editableOptions[].propertyPath - realistic only when board configuration passed to Dashboards.board() originates from an untrusted source such as an API, CMS, or user-generated content - with the path containing __proto__, constructor, or prototype segments. The malicious write does not fire automatically: a legitimate user must open the affected component in edit mode and edit the configured option (CVSS UI:A), so required user interaction is a genuine limiting factor. Affected versions are @highcharts/dashboards >= 1.0.0 and <= 4.2.1; 4.2.2 is fixed. A further limiter is that the injected Object.prototype property is inert until other code on the page reads it, so impact depends entirely on the consuming application. The vendor-supplied workaround (filtering unsafe propertyPath keys before passing config to Dashboards.board(), or patching updateOptions) mitigates on unpatched versions, but the advisory notes updating is the complete fix.

Impact

This is a moderate-severity, precondition-gated prototype pollution flaw (CWE-1321) rather than a drop-everything emergency. The vendor CVSS 4.0 score is 6.9 (medium) with vector AV:N/AC:L/AT:N/PR:L/UI:A, meaning network reachable and low complexity but requiring low-level privileges AND active user interaction. The vuln.today decision label is 'this_month', signaling it belongs in the normal monthly patch cycle, not an act_now/emergency track. No EPSS score and no CISA KEV entry were supplied, and no public exploit code is referenced - only the vendor GHSA advisory and the fix commit. The practical risk is bounded by two real preconditions that the raw CVSS does not fully convey: the attacker must control a component's editableOptions[].propertyPath (realistic only when board configuration is sourced from an untrusted API, CMS, or user-generated content), and a legitimate user must actually edit that option in Dashboards edit mode to trigger the write (UI:A). The direct technical impact is an integrity write onto Object.prototype (VI:H); confidentiality impact is rated N and the ultimate consequence 'is determined by the consuming application,' so any availability or disclosure outcome is contingent, not guaranteed. Net: a legitimate issue worth patching this month, but the attacker-control-of-config plus required user interaction keep it well below the urgency of an unauthenticated, no-interaction RCE.

Exploit ScenarioDerived

An application renders a Highcharts Dashboards board whose component configuration is partly sourced from untrusted input (an API, CMS, or user-generated content); the attacker submits a component whose editableOptions entry has a propertyPath containing __proto__ or constructor. When a legitimate user later opens that component in edit mode and changes the option, the walk applies the value onto Object.prototype, polluting it for all page JavaScript. No public exploit code is referenced - only the vendor advisory and patch commit - and the effect stays inert until other code on the page reads the injected property.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 28, 2026

Prototype pollution in Highcharts Dashboards edit mode lets an attacker who controls a component's editableOptions[].propertyPath write attacker-chosen values onto Object.prototype when a user edits that option in the dashboard, after which the injected property is visible to every script on the page. The flaw affects the @highcharts/dashboards npm package from 1.0.0 through 4.2.1 and is fixed in 4.2.2; exploitation requires the board configuration passed to Dashboards.board() to come from an untrusted source (API, CMS, user-generated content) and requires a low-privileged user to open the component in edit mode and trigger the edit. Impact is application-dependent because the injected property stays inert until other page code reads it, and no public exploit has been identified at time of analysis; the vendor states that updating is the complete fix.

RemediationAI

Upgrade @highcharts/dashboards to 4.2.2 (the version listed as fixed in the advisory's package data and the dashboards-v4.2.2 release tag; the vendor's install and CDN examples use 4.2.3, i.e. npm install @highcharts/dashboards@4.2.3 or a versioned URL such as https://code.highcharts.com/dashboards/4.2.3/dashboards.js). Details are in GHSA-wg5j-9wp8-2ggm. On versions that cannot be updated immediately, the vendor documents three workarounds: filter untrusted board configuration before calling Dashboards.board() by dropping any editableOptions entry whose propertyPath contains __proto__, constructor or prototype, which works on all affected versions but does not cover editable options contributed by a custom component registered at runtime; if Dashboards is installed from npm and imported from es-modules, wrap AccordionMenu.prototype.updateOptions so it returns early on those keys; and if dashboards.js is loaded from a script tag, run a one-time patch after importing dashboards.js and modules/layout.js but before creating any board, hooking EditMode.prototype.init to override the accordion menu's updateOptions. The vendor notes the injected property remains inert until other page code reads it and that updating is the complete fix.

Affected VersionsENISA

dashboards 1.0.0, < 4.2.2
highcharts < 13.1.0

Affected Packages

euvd dashboards fix: 4.2.2
euvd highcharts fix: 13.1.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in euvd

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

Technical ContextAI · show details

The issue is a CWE-1321 prototype pollution in the AccordionMenu class of the Dashboards edit-mode sidebar (ts/Dashboards/EditMode/AccordionMenu.ts). Each component's editableOptions entry carries a propertyPath that edit mode walks segment by segment when applying an edited value to component options; before the fix those segments were never validated, so a path containing __proto__ or constructor reaches the object prototype chain and the write lands on Object.prototype rather than on the intended component option. The upstream fix, commit 05efb9849130461fe61992ea8f58d22edaad978b, adds a guard in AccordionMenu.updateOptions that returns early whenever any segment equals __proto__, constructor or prototype. Because the polluted key is placed on the shared prototype, every object in the page inherits it and any downstream code that reads that property - configuration loaders, template renderers, option merges in the SVG-based Highcharts charting stack - determines the real consequence, which is why the vendor describes the injected property as inert until consumed. The CPE records cover both the core highcharts project and the separately versioned @highcharts/dashboards package, which is where the vulnerable edit-mode code lives.

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

Attacker needs low-privilege control of board config (PR:L) and a user must edit in edit mode (UI:R); prototype pollution crosses into all page code (S:C) with a direct integrity write (I:H), while confidentiality/availability effects are app-dependent (C:N/A:N).

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:A/VC:N/VI:H/VA:N/SC:N/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
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
High
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
Low

Lifecycle Timeline

1
Patch available
Oct 28, 2026 - 19:03 EUVD

DescriptionCVE.org

Highcharts JS is a JavaScript charting library based on SVG. From 1.0.0 until 4.2.2, Highcharts Dashboards edit mode walks editableOptions propertyPath segments without rejecting prototype-related keys. An attacker who controls editableOptions can provide a path through __proto__ or constructor, and a user's edit writes the configured value onto Object.prototype. The property then becomes visible to JavaScript throughout the page, with consequences determined by the consuming application. This issue is fixed in 4.2.2.

Threat Intelligence Overview

Prevalence
Medium
popular charting library, but Dashboards edit mode is a narrower deployment
Social Media
1
Sightings
Data Quality
3 sources
Confidence: Low

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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Medium

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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-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

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