Skip to content
High 8.5

Highcharts Gridで悪意のあるスクリプトが実行される脆弱性

CVE-2026-118242 First seen on SecPulse

Summary

Highcharts Gridには、アイコン定義にイベントハンドラー属性を含められることで、利用者の操作時にスクリプトが実行される脆弱性(CVE-2026-118242)があります。影響を受けるのは2.3.0から3.2.0までの版で、CVSS v4.0のスコアは8.5です。修正版は3.2.0なので、利用中のHighchartsやGrid(grid-lite・grid-pro)を3.2.0以降に更新してください。

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

Highcharts Gridには、アイコン定義にイベントハンドラー属性を含められることで、利用者の操作時にスクリプトが実行される脆弱性(CVE-2026-118242)があります。影響を受けるのは2.3.0から3.2.0までの版で、CVSS v4.0のスコアは8.5です。修正版は3.2.0なので、利用中のHighchartsやGrid(grid-lite・grid-pro)を3.2.0以降に更新してください。

Affected packages

EcosystemPackageAffectedFixed
highcharts highcharts — —
@highcharts grid-lite — —
@highcharts grid-pro — —
npm @highcharts/grid-lite
≥ 2.3.0, < 3.2.0
3.2.0
npm @highcharts/grid-pro
≥ 2.3.0, < 3.2.0
3.2.0
Original description The description as published by the source.

Impact

A custom icon supplied under rendering.icons as an icon definition object is built by creating an SVG path for each of its child entries and setting every key of that entry as an attribute of the path, without filtering the attribute names; only the string form of the option is passed through the markup allow-list. An attacker who controls the Grid configuration can therefore supply child entries whose keys name event handlers, and those handlers execute in the origin of the page hosting the Grid. Custom icons take precedence over the built-in ones, so the attacker can replace icons that render without any further configuration, such as the sort icon shown in every column header by default and the pagination controls where pagination is enabled, and does not need any reference to a custom icon name. Exploitation requires that untrusted data reach the Grid configuration and that a user hover over or activate an affected icon.

Workarounds

If your Grid configuration comes from a source you do not fully control, paste this snippet right after importing the Grid module:

(function () {
    const GridNS = typeof Grid !== 'undefined' ? Grid : undefined;
    const GridClass = GridNS && GridNS.Grid;

    if (!GridClass || !GridClass.prototype.loadUserOptions) {
        return; // Grid not loaded
    }

    const allowedPathAttributes = [
        'd',
        'fill',
        'opacity',
        'stroke',
        'stroke-width',
        'stroke-linecap',
        '…

Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details