Highcharts Grid: `credits.href`に設定された`javascript:`URLをクリックすると、スクリプトが実行される。

### 影響
Gridの設定を制御する攻撃者は、`credits.href`を`javascript:`URLに設定することができます。この値は、creditsリンクに適用される前に、許可されたスキームのリストに対して検証されません。そのため、そのリンクをクリックすると、攻撃者が提供したスクリプトが、Gridをホストしているページのオリジンで実行されます。この脆弱性を悪用するには、信頼できないデータがGridの設定に到達し、ユーザーがcreditsリンクをアクティブにする必要があります。この方法で実行されるスクリプトは、ホストアプリケーションと同じように、ページデータ、ストレージ、セッション状態にアクセスできます。

### 対策
Grid Proモジュールをインポートした後、Gridを作成する前に、以下のコードを貼り付けてください。

```javascript
const { AST } = Grid;

function sanitize(options) {
const credits = options && options.credits;

if (credits && typeof credits.href === 'string') {
const filtered = AST.filterUserAttributes({ href: credits.href });

if (!filtered.href) {
delete credits.href;
}
}

return options;
}

// Grid.grid()とgrid.update()の両方がloadUserOptionsを経由するため、
// 1つのフックで両方のエントリーポイントをカバーします。
const { prototype } = Grid.Grid;
const loadUserOptions = prototype.loadUserOptions;

prototype.loadUserOptions = function (options, ...rest) {
sanitize(options);
return loadUserOptions.call(this, options, ...rest);
};
```

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

影響を受けるパッケージ:
- npm (JavaScript) @highcharts/dashboards: 影響を受けるバージョンは 3.2.0 以降、3.6.0 以下。4.0.0 で修正済み。
- npm (JavaScript) @highcharts/grid-pro: 影響を受けるバージョンは 2.0.0 以降、3.1.0 以下。3.2.0 で修正済み。