Highcharts Dashboardsのフルスクリーン表示に脆弱性、スクリプトを実行されるおそれ
概要
Highcharts Dashboardsの編集モードで、フルスクリーンの言語ラベルがテキストではなくHTMLとして解釈されるクロスサイトスクリプティングの脆弱性です。1.0.0から4.2.3までが対象で、攻撃者が言語オプションを操作できると、ラベルを表示したときにイベントハンドラーが実行されるおそれがあります。修正版は4.2.3ですので、Highchartsと@highcharts/dashboardsを4.2.3以降に更新してください。
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
Highcharts Dashboardsの編集モードで、フルスクリーンの言語ラベルがテキストではなくHTMLとして解釈されるクロスサイトスクリプティングの脆弱性です。1.0.0から4.2.3までが対象で、攻撃者が言語オプションを操作できると、ラベルを表示したときにイベントハンドラーが実行されるおそれがあります。修正版は4.2.3ですので、Highchartsと@highcharts/dashboardsを4.2.3以降に更新してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| highcharts | highcharts | — | — |
| @highcharts | dashboards | — | — |
| npm | @highcharts/dashboards |
1.0.0 以上 4.2.3 未満 |
4.2.3 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
Impact
The edit mode fullscreen labels are parsed as HTML when the corresponding control is rendered. An attacker who controls the Dashboards language options can supply markup carrying event handlers, which then execute in the origin of the page hosting the dashboard. Exploitation requires that untrusted data reach the Dashboards language configuration and that the affected control be rendered. Script running this way has the same access to page data, storage and session state as the hosting application.
Workarounds
Until you can upgrade, replace Fullscreen.prototype.setButtonText atapplication startup. The replacement is the original method with textContent in place of innerHTML.
If you install Dashboards from npm
Import the module once, before any board is created.
import Fullscreen from '@highcharts/dashboards/es-modules/Dashboards/EditMode/Fullscreen.js';
Fullscreen.prototype.setButtonText = function () {
const editMode = this.board.editMode,
button = editMode?.tools.contextMenu?.items.viewFullscreen;
if (button?.innerElement) {
const lang = editMode.lang;
button.innerElement.textContent =
(this.isOpen ? lang.exitFullscreen : lang.viewFullscreen) || '';
}
};
If you load Dashboards from a `` tag
The same replacement, taking Fullscreen from the global namespace. It must run after modules/layout and before any board is created.
{
const Fullscreen = window.Dashboards…
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com