Highcharts Gridにページング言語設定を介して任意のスクリプトを実行される脆弱性
概要
Highcharts Gridでページング用の言語文字列がHTMLとして解釈され、細工された設定によりホストページ上でスクリプトが実行されるおそれがあります。影響を受けるのは2.0.0から3.2.0未満の版で、修正版は3.2.0です。ページングを有効にしているなら、3.2.0以上への更新を優先してください。
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
Highcharts Gridでページング用の言語文字列がHTMLとして解釈され、細工された設定によりホストページ上でスクリプトが実行されるおそれがあります。影響を受けるのは2.0.0から3.2.0未満の版で、修正版は3.2.0です。ページングを有効にしているなら、3.2.0以上への更新を優先してください。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| 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 |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
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, '<');
}
}
};
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:/…
出典: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
参照URL
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com