【活用ガイド】

JVNDB-2026-021470

AngularのAngularJSにおけるクロスサイトスクリプティングの脆弱性

概要

Angularは、TypeScript/JavaScriptやその他の言語を使用してモバイルおよびデスクトップ向けのWebアプリケーションを構築するための開発プラットフォームです。バージョン22.0.0-rc.2、21.2.16、20.3.24、19.2.25より前の@angular/platform-serverのDOMエミュレーション依存ライブラリ(domino)には、生テキスト要素(<script>、<style>、<iframe>など)の内容をシリアライズする際にクロスサイトスクリプティング(XSS)脆弱性が存在します。dominoはシリアライズ中に生テキスト要素の閉じタグの破綻を防ぐためにエスケープ処理をサポートしていますが、このエスケープロジックにUnicodeのインデックス整合性のバグがありました。JavaScriptでは文字列の長さや文字インデックスはUTF-16コード単位で計算されます(絵文字などのアストラル文字は2コード単位=4バイトを占めます)。もし閉じタグ(例: </script>、</style>、</iframe>)の直前の動的テキストにアストラルUnicode文字が含まれている場合、dominoの置換ロジック内のインデックスオフセット計算がずれます。この不整合によって閉じタグの置換やエスケープ処理が失敗し、生成されたHTML内でそのタグが未エスケープのまま残ってしまいます。攻撃者が動的テキストを操作できる場合、アストラルUnicode文字と閉じタグ(例:? </iframe><script>alert(1)</script>)を含むペイロードを提供できます。サーバーサイドレンダリング時にこのテキストがシリアライズされると、ブラウザは未エスケープの閉じタグを解析し、生テキストコンテキストを早期に終了して以降の<script>ブロックを実行し、同一生成元のクロスサイトスクリプティング(XSS)が発生します。この脆弱性はバージョン22.0.0-rc.2、21.2.16、20.3.24、19.2.25で修正されています。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 6.1 (警告) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 要
  • 影響の想定範囲: 変更あり
  • 機密性への影響(C): 低
  • 完全性への影響(I): 低
  • 可用性への影響(A): なし
影響を受けるシステム


Angular
  • AngularJS 18.2.14 およびそれ以前
  • AngularJS 19.0.0 以上 19.2.25 未満
  • AngularJS 20.0.0 以上 20.3.24 未満
  • AngularJS 21.0.0 以上 21.2.6 未満
  • AngularJS 22.0.0

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。
・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。
・当該ソフトウェアは停止しません。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. クロスサイトスクリプティング(CWE-79) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-50555
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-50555
  2. 関連文書 : fix: Escapes in raw text  by SkyZeroZx  Pull Request #29  angular/domino  GitHub
更新履歴

  • [2026年06月29日]
      掲載