LiveActive security incident?Get immediate response
CVE Record

CVE-2021-29489: Options structure open to XSS if passed unfiltered

Highcharts JS is a JavaScript charting library based on SVG. In Highcharts versions 8 and earlier, the chart options structure was not systematically filtered for XSS vectors. The potential impact was that content from untrusted sources could execute code in the end user's browser. The vulnerability is patched in version 9. As a workaround, implementers who are not able to upgrade may apply DOMPurify recursively to the options structure to filter out malicious markup.

HighCVSS 7.6Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

Highcharts before version 9 could let unsafe chart configuration content run script in a user's browser. The business risk is highest where charts display data or labels influenced by customers, partners, or internal users. The vendor states version 9 patches the issue.

Executive priority

Treat as a high-priority web application dependency issue where Highcharts handles untrusted or shared data. It is not KEV-listed in the provided evidence, but browser script execution can affect user trust, data integrity, and session security.

Technical view

CVE-2021-29489 is a CWE-79 XSS flaw in Highcharts versions below 9.0.0. The chart options structure was not systematically filtered for XSS vectors, so untrusted content passed into options could execute in the end user's browser. The listed workaround is recursive DOMPurify filtering of the options structure.

Likely exposure

Exposure is likely in web applications or embedded products using Highcharts 8 or earlier, especially when chart options, labels, titles, tooltips, or data-derived content come from untrusted sources. Static charts with fully trusted option objects are lower risk but still should be upgraded.

Exploitation context

The provided sources do not state active exploitation, and this CVE is not marked KEV. The CVSS vector indicates network reachability, low attack complexity, and privileges required. Evidence supports potential browser-side code execution when an attacker can influence chart options.

Researcher notes

Focus review on option object construction and trust boundaries rather than only visible chart data. The key evidence is vendor-confirmed incomplete XSS filtering before Highcharts 9 and a named DOMPurify workaround for organizations unable to upgrade.

Mitigation direction

  • Upgrade Highcharts to version 9.0.0 or later.
  • If upgrade is blocked, recursively sanitize chart options with DOMPurify.
  • Remove untrusted markup from chart option inputs before rendering.
  • Check downstream vendor advisories for embedded Highcharts exposure.
  • Prioritize externally reachable applications and multi-user dashboards.

Validation and detection

  • Inventory package manifests and bundled assets for Highcharts below 9.0.0.
  • Trace whether chart options include user, CMS, API, or database-controlled content.
  • Confirm deployed assets match the remediated Highcharts version.
  • Review downstream products against vendor advisories, including NetApp guidance.
  • Add regression tests covering sanitized chart option rendering.
Prepared
Confidence
high
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-79: User-session and phishing behavior lookup

Client-side and session-facing weaknesses should be reviewed alongside initial-access and user-execution behaviors. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2021-29489 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.6 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
3Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.6CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L2.84.7Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.6High
CVSS 3.1 vector shape for CVE-2021-29489Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
highchartshighcharts< 9.0.0Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-79 · source CWE mapping

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.