概要
HTMLサニタイザーライブラリ sanitize-html のバージョン2.17.3以前に、<xmp> タグを利用したXSSサニタイザーバイパスが確認されました。CVSSスコアは9.3(CRITICAL)です。ApostropheCMS等、sanitize-html を使用するパッケージにも影響します。
デフォルト設定の disallowedTagsMode: 'discard' において、不許可の <xmp> タグ内に埋め込まれた攻撃者制御のコンテンツが、サニタイズ後に生きたHTMLまたはJavaScriptとして出力されます。これにより、サニタイズ済み出力をユーザーに返すアプリケーションでストアドXSSが成立する可能性があります。
CVSSベクトル
| 項目 | 値 |
|---|---|
| スコア | 9.3 (CRITICAL) |
| 攻撃元区分 (AV) | ネットワーク (N) |
| 攻撃条件の複雑さ (AC) | 低 (L) |
| 必要な特権 (PR) | 不要 (N) |
| ユーザー操作 (UI) | 不要 (N) |
| CWE | CWE-79(クロスサイトスクリプティング) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| sanitize-html | apostrophecms | 2.17.3 以前 |
| apostrophe (ApostropheCMS) | apostrophecms | sanitize-html 2.17.3以前を含むバージョン |
修正バージョンと回避策
修正バージョン: sanitize-html 2.17.4
npm update sanitize-html
# または
npm install sanitize-html@2.17.4
回避策: allowedTags に xmp が含まれていないことを確認し、disallowedTagsMode を 'escape' に変更することで影響を軽減できる可能性があります(完全な回避ではないため、アップデートを推奨)。
関連リンク
データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
