Skip to content
High 8.6

Highcharts Gridにページング言語設定を介して任意のスクリプトを実行される脆弱性

CVE-2026-118254 First seen on SecPulse

Summary

Highcharts Gridでページング用の言語文字列がHTMLとして解釈され、細工された設定によりホストページ上でスクリプトが実行されるおそれがあります。影響を受けるのは2.0.0から3.2.0未満の版で、修正版は3.2.0です。ページングを有効にしているなら、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でページング用の言語文字列がHTMLとして解釈され、細工された設定によりホストページ上でスクリプトが実行されるおそれがあります。影響を受けるのは2.0.0から3.2.0未満の版で、修正版は3.2.0です。ページングを有効にしているなら、3.2.0以上への更新を優先してください。

Affected packages

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

Impact

The pagination language strings are written into the DOM as markup rather than as text. An attacker who controls those language options can supply elements carrying event handlers, and those handlers execute in the origin of the page hosting the Grid when the pagination controls render. Exploitation requires that untrusted data reach the Grid language configuration and that pagination be enabled on the Grid.

Workarounds

Run this once after loading the Grid, before creating any grid:

{
    const Pagination = Grid.Pagination;

    const escapeLang = (pagination) => {
        const lang = pagination.lang;
        if (!lang) {
            return;
        }

        for (const key of ['pageInfo', 'pageSizeLabel']) {
            if (typeof lang[key] === 'string') {
                lang[key] = lang[key].replace(/</g, '&lt;');
            }
        }
    };

    for (const name of ['updatePageInfo', 'renderPageSizeSelector']) {
        const original = Pagination.prototype[name];

        Pagination.prototype[name] = function (...args) {
            escapeLang(this);
            return original.apply(this, args);
        };
    }
}

Obtaining the patched version

The patched releases are available from all the usual distribution channels. With npm, upgrade the affected package to the patched version listed above, for example npm install @highcharts/grid-lite@3.2.0. If you load Highcharts Grid from a CDN, use a versioned URL, for example `https:/…

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