Angularに新たな脆弱性、悪意あるペイロード実行の恐れ

概要

Angularのテンプレートコンパイラに重大なクロスサイトスクリプティング(XSS)脆弱性が発見され、数百万ものウェブアプリケーションが悪意あるJavaScript実行の危険に晒されています。この脆弱性は「CVE-2026-22610」として追跡されており、Angularの複数のコアパッケージに影響を与え、CVSSスコア7.3/10の「高」評価を受けています。

脆弱性の詳細

このセキュリティ上の欠陥は、Angularの内部サニタイゼーションスキーマが、SVGの<script>要素内のhrefおよびxlink:href属性をリソースURLコンテキストとして正しく認識しないことに起因します。この見落としにより、テンプレートバインディングがユーザー制御のデータをこれらの属性に割り当てる際、Angularに組み込まれたセキュリティ保護が迂回されてしまいます。例えば、<script [attr.href]="userInput">のようなプロパティまたは属性バインディングを使用すると、コンパイラは悪意ある入力を潜在的に危険なリソースリンクではなく、標準文字列として誤って扱います。

攻撃手法と影響

攻撃者は、データURIに含まれるJavaScript (例: data: text/javascript) や外部の悪意あるスクリプトURLを注入することで、この脆弱性を悪用できます。攻撃が成功すると、被害者のブラウザセッションで任意のJavaScriptコードが実行される可能性があり、セッションハイジャック、データ漏洩、認証済みユーザーに代わる不正な操作などの被害につながる恐れがあります。

ただし、この脆弱性の悪用には特定の前提条件が必要です。アプリケーションはSVGの<script>要素でhrefまたはxlink:href属性に対するプロパティバインディングを使用しており、かつバインドされるデータが信頼できないソースからのものである必要があります。

対策と推奨事項

Angularはすでに複数のバージョンブランチでパッチをリリースしています。システム管理者は、直ちに以下のパッチ適用済みバージョンにアップデートすることが強く推奨されます。

  • バージョン 19.2.18
  • バージョン 20.3.16
  • バージョン 21.0.7
  • バージョン 21.1.0-rc.0

パッチが適用されるまでの間、開発者はSVGの<script>要素に対する動的なバインディングを避け、信頼できるURLのホワイトリストに基づいた厳格なサーバーサイド入力検証を実装する必要があります。Angularフレームワークを使用している組織は、ウェブアプリケーションへの潜在的な悪用を防ぐため、このアップデートを最優先事項として対応すべきです。


元記事: https://gbhackers.com/new-angular-vulnerability/