Skip to content
High 8.6

Highcharts Dashboardsに脆弱性、設定次第で悪意あるスクリプトが実行されるおそれ

CVE-2026-118245 First seen on SecPulse

Summary

Highcharts Dashboardsの1.0.0から4.2.1までには、chartConstructorの検証不足により、ダッシュボードの設定を操作できる攻撃者がHTMLやイベントハンドラーを実行できる脆弱性があります。ボードを表示するだけで成立し、利用者による操作は必要ありません。修正版は4.2.2で、最新の情報を確認して更新してください。

AI summary

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

Highcharts Dashboardsの1.0.0から4.2.1までには、chartConstructorの検証不足により、ダッシュボードの設定を操作できる攻撃者がHTMLやイベントハンドラーを実行できる脆弱性があります。ボードを表示するだけで成立し、利用者による操作は必要ありません。修正版は4.2.2で、最新の情報を確認して更新してください。

Affected packages

EcosystemPackageAffectedFixed
highcharts highcharts — —
@highcharts dashboards — —
npm @highcharts/dashboards
≥ 1.0.0, < 4.2.2
4.2.2
Original description The description as published by the source.

Impact

The Highcharts component uses the value of chartConstructor to select a function from the Highcharts namespace and invokes it with the component's container element and its chartOptions, without checking the value against the supported chart constructors. An attacker who controls the dashboard configuration can therefore name any other public member of that namespace; utility functions in that namespace copy the supplied options onto the container element as properties or attributes, so markup and event handlers carried in chartOptions land in the page and run in the origin of the page hosting the dashboard. Exploitation requires that untrusted data reach the Dashboards component configuration. No user interaction is required beyond rendering the board.

Workarounds

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

(function () {
    const HighchartsComponent =
        Dashboards && Dashboards.HighchartsComponent;

    if (!HighchartsComponent || !HighchartsComponent.prototype.createChart) {
        return; // HighchartsComponent not loaded
    }

    const allowedConstructors = [
        'chart',
        'stockChart',
        'mapChart',
        'ganttChart'
    ];
    const originalCreateChart = HighchartsComponent.prototype.createChart;

    HighchartsComponent.prototype.createChart = function () {
        if (allowedConstructors.indexOf(this.chartConstructor) === -1) {…

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