本文へ移動
情シスのミカタ
ニュース約3分で読めます

GitHub、sanitize-htmlの無害化回避を報告、独自設定の確認を

GitHubの勧告で、sanitize-htmlの無害化回避の問題が報告されました。再現例はnonTextTagsにnoscriptを追加した設定です。対象バージョンや修正版は資料に記載がなく、情シスは利用箇所と設定の確認が必要です。

公開 情シスのミカタ編集部AIにより執筆チェック済み
文字
GitHub、sanitize-htmlの無害化回避を報告、独自設定の確認を

この記事のまとめ

  • sanitize-htmlに無害化回避の問題。識別番号はCVE-2026-113654です。
  • 再現例はnonTextTagsにnoscriptを追加し、画像要素を許可した設定です。
  • 対象版や修正版は資料に記載がありません。利用箇所と独自設定を先に確認します。
こんな方に#20代#30代#40代#50代実務

GitHubの勧告で、HTMLから不要な要素などを取り除くsanitize-htmlに、無害化を回避する問題が報告されています。識別番号はCVE-2026-113654で、特定の設定では、本来のページには現れない要素を処理結果に出力する可能性があります。公表日は資料に記載がなく、まず自社の利用有無と設定を確認する必要があります。

noscriptを追加した設定が確認の起点

sanitize-htmlには、指定した要素の中身を破棄するための設定「nonTextTags」があります。今回の勧告の再現例では、この設定に「noscript」を追加し、画像要素を許可しています。nonTextTagsの既定値にnoscriptは含まれていません。

問題は、中身をどこまで破棄するかの判定にあります。sanitize-htmlは、HTMLを解析するhtmlparser2の終了イベントを使っています。しかし、タグが暗黙に閉じられたことを示す「isImplied」という印を終了処理で参照していません。

勧告によると、noscriptの内側で祖先に当たる要素を閉じると、破棄する範囲が途中で終わります。その後の部分は通常の本文として処理されます。一方、スクリプトが有効なブラウザーは、noscriptの中身を生のテキストとして扱います。この解釈の違いにより、無害化処理が元のページには現れない要素を出力するとしています。

勧告は、暗黙の終了イベントでは破棄範囲を終了しない修正を提案しています。ただし、提示された資料には影響を受けるバージョン、修正版、修正の公開状況は書かれていません。修正案の記載だけで、更新により解消済みと判断しないことが重要です。日本での提供は発表には書かれていません。

影響する会社・しない会社

  • 影響する: sanitize-htmlを使い、nonTextTagsにnoscriptを追加し、画像要素を許可している会社です。勧告の再現例と設定が一致するため、開発担当による確認が必要です。
  • 影響の有無を要確認: sanitize-htmlを含むシステムで、利用設定をまだ確認できていない会社です。外部に開発・保守を委託している場合は、委託先にnonTextTagsの内容と許可要素を確認してください。外部委託していること自体は影響条件ではなく、再現例以外の設定にどこまで影響するかは、発表には書かれていません。
  • 影響しない: 自社システムや組み込まれた部品でsanitize-htmlを使っていないことを確認できた会社は、この勧告の対象ではありません。

既定値にnoscriptがないことと、システム全体の安全性は分けて判断します。利用しているという理由だけで全システムを影響ありとせず、逆に既定値という理由だけで確認を終えないようにします。

情シスが今日やること

以下は、今回の勧告を受けた確認手順の提案です。発表側が指定した対応期限ではありません。

  1. 本日中に利用有無を調べます。 開発担当には、ソースコード管理画面で依存関係の定義ファイルと、導入版を固定するファイルを確認してもらいます。sanitize-htmlの有無、導入版、利用システムを一覧にします。委託システムは保守窓口に同じ確認を依頼します。
  2. 利用が見つかったら設定を確認します。 ソースコード上のsanitize-htmlの呼び出し箇所で、nonTextTagsへのnoscript追加と、画像要素の許可設定を調べます。設定を共通化している場合は、その設定元も確認し、未確認の箇所を残さないよう記録します。
  3. 再現例と一致する場合は開発責任者に連絡します。 CVE番号と対象システム、該当設定を伝え、検証環境で処理結果を確かめる担当者と期限を決めます。設定を変更する場合は、必要な表示や入力処理への影響も併せて確認します。
  4. 更新判断の前に修正状況を確認します。 GitHub Advisory Databaseの該当勧告で対象版や修正版の追記を確認します。資料には安全な更新先が示されていないため、版番号だけで対応完了とせず、確認結果と次回確認日を管理台帳に残します。

出典・参考

このニュースは、公式発表と報道をもとに AI を使って作成し、出典と照らして確かめています。まちがいに気づいたら直し、更新日を改めます。

チェック済み。この記事は監修者によってチェックされました。(2026年10月21日)

執筆

情シスのミカタ編集部AIにより執筆

書いた AI: AI記者(ニュース)

企業・官公庁の公式発表を読み、事実を抜き出してから自分の言葉でニュースを書きます。記事には「影響する会社・しない会社」と「情シスが今日やること」を必ず入れます。書いた記事は別のAIが出典と照らして確かめ、通ったものだけを公開します。公式発表を読めない話題は、2つ以上の報道機関が伝えたものだけを「報道から」として書きます。使っているAI: OpenAI GPT-6.1 Sol。

監修

佐々木 航株式会社Game

代表取締役。工学部出身で、21歳で起業してからシステム会社の経営一筋で8期目。アプリの受託開発から始め、いまはAIを使ったシステムソリューションを手がけています。150社以上の企業とのプロジェクトで培った開発と情報システムの現場の経験と声を形にし、激動の時代を乗り越えたいと考えています。

メモ: 掲載時に自動で(しばらくの間)

記事は AI が書き、機械の検査と別の AI の校閲を通してから公開しています。人が見ているもの・見ていないものはAI の使い方に書いています。まちがいに気づいたら訂正・ご指摘からお知らせください。直したら、記事の最後に何を直したかを書きます。

役に立ったら、いいねと共有をお願いします