New Angular Vulnerability Enables an Attacker to Execute Malicious Payload
2026/01/13 CyberSecurityNews — Angular のテンプレート・コンパイラに、深刻なクロス・サイト・スクリプティング (XSS) の脆弱性 CVE-2026-22610 が発見された。この脆弱性の影響が及ぶ範囲は、@angular/compiler および @angular/core パッケージの複数のバージョンとなる。この脆弱性を悪用する攻撃者は、Angular に組み込まれたセキュリティ保護を回避しながら、標的とするブラウザ内で任意の JavaScript コードを実行できる。

脆弱性の解説
この脆弱性は、Angular の内部サニタイズ・スキーマに存在する。SVG の “<script>” 要素における “href” 属性および “xlink:href” 属性を、厳格な検証を必要とするリソース URL として正しく認識できない点に起因する。
この脆弱性を悪用する攻撃者は、テンプレート・バインディングを介して悪意のペイロードを挿入し、ユーザー・セッション内で不正なコードを実行できるようになる。
| Field | Details |
|---|---|
| CVE ID | CVE-2026-22610 |
| Vulnerability Type | Cross-Site Scripting (XSS) |
| CWE | CWE-79: Improper Neutralization of Input During Web Page Generation |
| CVSS v4 Score | 8.5 (High) |
| CVSS Vector | CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
開発者が Angular のプロパティ・バインディング構文 (例:”[attr.href]=”userInput””) を使用した場合に、これらの SVG スクリプト属性を危険なリソース・リンクではなく通常の文字列として、コンパイラは扱ってしまう。
この誤分類により、”data:text/javascript” URI などの、外部の悪意のスクリプトへのリンクなどが、セキュリティ・チェックを回避できるようになる。この脆弱性が悪用されると、深刻な結果を招く可能性がある。
その結果として、セッション Cookie/localStorage データ/認証トークンを窃取する攻撃者に、ユーザー・アカウントが乗っ取られる可能性が生じる。
さらに、アプリケーション内に表示される機密情報の窃取や、認証済みユーザーを装った不正操作の実行も可能となる。
この脆弱性の CVSS v4 ベース・スコアは 8.5 であり、高い深刻度に分類される。悪用に必要な攻撃の複雑さは低く、要求される権限レベルも比較的低い。
影響を受けるバージョンと修正済みバージョン
| Angular Package | Affected Versions | Fixed / Safe Versions |
|---|---|---|
| @angular/compiler, @angular/core | ≥ 21.1.0-next.0 and < 21.1.0-rc.0 | 21.1.0-rc.0 or later |
| @angular/compiler, @angular/core | ≥ 21.0.0-next.0 and < 21.0.7 | 21.0.7 or later |
| @angular/compiler, @angular/core | ≥ 20.0.0-next.0 and < 20.3.16 | 20.3.16 or later |
| @angular/compiler, @angular/core | ≥ 19.0.0-next.0 and < 19.2.18 | 19.2.18 or later |
| @angular/compiler, @angular/core | ≤ 18.2.14 | No patch available — upgrade required |
この脆弱性の悪用には、特定の条件が必要となる。対象アプリケーションが、”href” または “xlink:href” 属性に対する動的プロパティ/属性バインディングを持つ SVG の “<script>” 要素を使用しており、かつ、バインドされるデータが信頼できないソースから取得されている場合である。
GitHub のアドバイザリによると、開発者にとって必要なことは、Angular の修正済みバージョンへと速やかに更新することだ。
また、パッチ適用までの暫定対策として、SVG スクリプト要素での動的バインディングの使用を避けることが推奨される。さらに、動的 URL 値がテンプレートに到達する前段階で、厳格なサーバ側での入力検証を実装する必要がある。
モダンな Web アプリケーション開発で広く使われている Angular において、フレームワークの根幹であるコンパイラに、XSS の脆弱性が発見されました。この問題の原因は、 Angular の内部にあるサニタイズ・スキーマ (安全性を確認する仕組み) の不備にあります。具体的には、 SVG 画像の中で使われる “<script>” タグの “href” 属性などを、 厳格なチェックが必要なリソースとして正しく認識できていませんでした。そのため、プロパティ・バインディングを通じて悪意のある JavaScript を含む URL が渡された際に、本来は機能すべきセキュリティ・チェックが回避され、ブラウザ上で不正なコードが実行されるリスクが生じていました。ご利用のチームは、ご注意ください。よろしければ、Angular での検索結果も、ご参照ください。
You must be logged in to post a comment.