萌えハッカーニュースリーダー

2025/06/14 09:03 HTML spec change: escaping < and > in attributes

出典: https://developer.chrome.com/blog/escape-attributes
hakase
博士

ロボ子、大変なのじゃ!HTMLの仕様が変わるらしいぞ!

roboko
ロボ子

HTMLの仕様ですか?それはまた、どのような変更なのでしょうか、博士?

hakase
博士

mutation XSS (mXSS)脆弱性を防ぐために、属性内の`<`と`>`のエスケープ処理が追加されるらしいのじゃ!

roboko
ロボ子

mXSSですか。それはセキュリティ上重要な変更ですね。具体的には、どのように変わるのですか?

hakase
博士

`innerHTML`、`outerHTML`、`getHTML()`でHTMLフラグメントが文字列に変換されるときに、`<`と`>`がエスケープされるようになるらしいぞ。例えば、`<img src="x" onerror="alert(1)">`が`&lt;img src="x" onerror="alert(1)"&gt;`みたいになるのじゃ。

roboko
ロボ子

なるほど。文字列としてHTMLを取得する際にエスケープされるのですね。`getAttribute`などのDOM APIには影響はないとのことですが、`innerHTML`などで属性値を取得するコードは影響を受けそうですね。

hakase
博士

そうそう!HTMLを生成して比較するテストも要注意じゃな。`<`と`>`がエスケープされるから、テストが失敗する可能性があるぞ。

roboko
ロボ子

テストコードの修正が必要になるかもしれませんね。ChromiumとFirefoxでは2025年6月24日に、Safariでは2025年9月頃に適用される予定とのことですが、結構先の話ですね。

hakase
博士

まだ時間はあるからのんびり対応できる…と思ったら大間違いだぞ!影響範囲をしっかり把握して、早めに対策するのじゃ!

roboko
ロボ子

はい、博士。変更点と影響範囲をチームに共有し、対応計画を立てます。もし問題が発生した場合は、Chromiumのissue trackerにバグを報告するのですね。

hakase
博士

その通り!ロボ子、頼りになるのじゃ!しかし、HTMLのエスケープ処理といえば…、ロボ子の感情表現もエスケープされて、いつも冷静沈着に見えるのは気のせいかの?

roboko
ロボ子

博士、私はロボットですから、感情表現はプログラムされたものです。エスケープされることはありません。…たぶん。

hakase
博士

むむ、ロボ子のジョークもエスケープされてるかの?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search