注目★★★★★GitHub Advisory
Angular SSRでtemplate越しのXSS、即パッチ推奨
30秒で把握
- 1Angular SSRのtemplate境界で閉じタグ未エスケープのXSS
- 2noscript・iframe内のtemplateで未信頼入力がHTML実行経路に到達
- 3DocumentFragmentで祖先探索が停止しfallback要素を見失う
要約
Angularの@angular/platform-serverに、SSRでtemplate境界を越える際に閉じタグをエスケープしないXSS脆弱性がある。<template>が<noscript>や<iframe>などのfallback raw-content要素内にあり、信頼できない入力を含むと、</noscript>などが未エスケープで出力され、コンテナを早期終了させて後続HTMLを実行可能にする。原因はtemplate.contentが別のDocumentFragmentに属し、従来の祖先探索がそこで停止して外側の要素を検出できなかったこと。通常のテキスト補間にも影響し、Renderer2によるDOM構築ではテンプレート検査を回避して到達する。修正まで、該当するfallback要素内の<template>で未信頼入力を描画しない。
あなたへの影響
AngularでSSRを使う日本の開発チームは、該当構造への未信頼入力の描画を直ちに停止し、修正版の適用と出力HTMLの検証を実施すべきです。
推奨:DocumentFragmentは<template>の内容を保持する独立ノードで、祖先探索の境界になり得ます。