Angularのテンプレートコンパイラで重大なクロスサイトスクリプティング(XSS)脆弱性が発見され、数百万のWebアプリケーションが悪意のあるJavaScript実行のリスクにさらされています。
CVE-2026-22610として特定されたこの欠陥は、Angularのコアパッケージの複数バージョンに影響し、CVSSスコア7.3/10の高(High)深刻度評価となっています。
この脆弱性は、Angular内部のサニタイズスキーマの欠陥に起因しており、SVGのscript要素におけるhrefおよびxlink:href属性を、リソースURL(Resource URL)コンテキストとして適切に認識できません。
この見落としにより、テンプレートバインディングがユーザー制御のデータをこれらの属性に割り当てる際、攻撃者はAngularに組み込まれたセキュリティ保護を回避できてしまいます。
このセキュリティ上の欠陥は、Angularのコンパイラがプロパティバインディングおよび属性バインディングを処理する方法に根ざしています。開発者が <script [attr.href]="userInput"のようなバインディングを実装すると、コンパイラは悪意のある入力を、潜在的に危険なリソースリンクではなく通常の文字列として誤って扱います。
この誤処理により、攻撃者がJavaScriptコードを含むdata URIや、外部の悪意のあるスクリプトURLを注入する機会が生まれます。
この脆弱性の悪用に成功すると、被害者のブラウザセッション内で任意のJavaScriptを実行できます。
その結果として、セッションハイジャック、不正なデータ流出、認証済みユーザーになりすました悪意ある操作などが含まれます。
ただし、悪用には特定の前提条件が必要です。アプリケーションがhrefまたはxlink:href属性に対するプロパティバインディングを伴うSVGのscript要素を使用していること、そしてバインドされるデータが信頼できないソースに由来することが条件となります。
Angularはこの脆弱性に対処するため、複数のバージョン系統にわたってパッチを公開しました。組織は直ちに、次の修正済みバージョンへ更新すべきです:19.2.18、20.3.16、21.0.7、または21.1.0-rc.0。
パッチ適用までの間、開発者は暫定的な保護策を実施すべきです。これには、SVGのscript要素での動的バインディングを避けること、ならびに信頼できるURLの許可リストに基づく厳格なサーバーサイド入力検証を実装することが含まれます。
組織は、Angularベースのアプリケーションが悪用される可能性を防ぐため、これらの更新の展開を優先すべきです。
すべてのAngularユーザーは、Webアプリケーションのセキュリティ態勢を維持するため、この更新を最重要事項として扱うべきです。
翻訳元: https://cyberpress.org/angular-vulnerability/