Highcharts Dashboardsは、フルスクリーン表示のラベルをHTMLとして解釈します。

### 影響
編集モードにおけるフルスクリーン表示のラベルは、対応するコントロールがレンダリングされる際にHTMLとして解釈されます。 ダッシュボードの言語設定を制御できる攻撃者は、イベントハンドラを含むマークアップを挿入することができ、それがダッシュボードをホストしているページのコンテキストで実行される可能性があります。 脆弱性を利用するには、信頼できないデータがダッシュボードの言語設定に到達し、影響を受けるコントロールがレンダリングされる必要があります。 このようにして実行されるスクリプトは、ホストアプリケーションと同じように、ページデータ、ストレージ、セッション状態にアクセスできます。

### 対策

アップグレードできるまでは、アプリケーションの起動時に`Fullscreen.prototype.setButtonText`を置き換えてください。 置き換えは、元のメソッドで`innerHTML`の代わりに`textContent`を使用するものです。

#### npmからDashboardsをインストールした場合

ボードを作成する前に、モジュールを一度インポートします。

```js
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) || '';
}
};
```

#### `<script>`タグからDashboardsを読み込む場合

同じ置き換えを行い、グローバル名前空間から`Fullscreen`を使用します。 これは、`modules/layout`の後に、ボードが作成される前に実行する必要があります。

```html
<script src="https://code.highcharts.com/dashboards/dashboards.js"></script>
<script src="https://code.highcharts.com/dashboards/modules/layout.js"></script>
<script>
{
const Fullscreen = window.Dashboards?.Fullscreen;

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) || '';
}
};
}
</script>
```

もしアプリケーションが編集モードを必要としない場合は、編集モードを無効にすることで(`editMode.enabled: false`)、その機能が利用可能になるのを防ぐことができます。同様に、コンテキストメニューについても、`viewFullscreen`が`editMode.contextMenu.items`に含まれていない限り、ラベルにアクセスできません。

### パッチ版の入手方法
パッチが適用されたバージョンは、通常の配布チャネルから入手できます。npmを使用している場合は、影響を受けるパッケージを上記のパッチ版にアップグレードしてください。例えば、`npm install @highcharts/dashboards@4.2.3`とします。Highcharts DashboardsをCDNから読み込んでいる場合は、バージョン番号付きのURLを使用してください。例えば、`https://code.highcharts.com/dashboards/4.2.3/dashboards.js`です。各インストール方法の詳細については、[インストールガイド](https://www.highcharts.com/docs/dashboards/installation)を参照してください。

影響を受けるパッケージ:
- npm (JavaScript) @highcharts/dashboards: 影響範囲は1.0.0以上、4.2.3未満。4.2.3で修正済み。
```