Angularに高深刻度のXSS 脆弱性(CVE-2026-32635)、早期更新が必要

セキュリティニュース

投稿日時: 更新日時:

Angularに高深刻度のXSS 脆弱性(CVE-2026-32635)、早期更新が必要

Angularのランタイムとコンパイラに、クロスサイトスクリプティングにつながる高深刻度の脆弱性が見つかりました。今回のCVE-2026-32635は、属性の国際化機能である i18n-<attribute> を使った場合に、Angularの組み込みサニタイズを回避できてしまう問題です。CVSS v4の基本値は8.6とされており、高リスクの脆弱性として扱う必要があります。

今回の問題は、Angularが通常は防いでくれるはずの危険な属性値のサニタイズに、国際化対応を組み合わせたときの盲点を突くものです。Angularは標準でサニタイズ機能を備えているため、開発現場では安全なフレームワークという認識が強い一方、今回の脆弱性はその前提が崩れるケースとして注意が必要です。

何が起きたのか

この脆弱性は、href や src のようなセキュリティ上センシティブな属性と、Angularの属性国際化機能を同時に使った場合に発生します。たとえば、a 要素の href にデータバインディングを行い、同じ属性に i18n-href を付与すると、本来適用されるべきサニタイズを回避できる状態になるとされています。

その結果、信頼できない入力をそのまま属性値に流し込んでいた場合、攻撃者が悪意あるスクリプトや不正なURLを注入し、アプリケーションのドメイン上で任意コードを実行できる可能性があります。問題は単なる表示崩れではなく、認証済みセッションの乗っ取りや利用者のなりすまし操作につながり得る点にあります。

脆弱性の成立条件

攻撃が成立するには、いくつかの条件がそろう必要があります。まず、影響を受けるAngularバージョンを利用していることです。次に、信頼できない入力を問題となる属性へデータバインディングしていることが条件になります。さらに、その属性に i18n-<name> を付けて国際化対象にしている必要があります。

影響が確認されている属性には、action、background、cite、codebase、data、formaction、href、itemtype、longdesc、poster、src、xlink:href などが含まれます。

リンク先、画像ソース、フォーム送信先など幅広い属性が対象となるため、多言語対応を進めているAngularアプリでは影響範囲の洗い出しが欠かせません。

脆弱性の対象バージョン

影響を受けるのは、@angular/compiler と @angular/core のうち、

22.0.0-next.0 以上 22.0.0-next.3 未満

21.0.0-next.0 以上 21.2.4 未満

20.0.0-next.0 以上 20.3.18 未満

19.0.0-next.0 以上 19.2.20 未満の各系統です。

加えて、17.0.0-next.0 以上 18.2.14 以下も影響対象に含まれます。

Angularを長期運用している環境では、古いブランチが残っていないかも含めて確認が必要です。

対策バージョン

対策版として案内されているのは、22.0.0-next.3、21.2.4、20.3.18、19.2.20です。これらのバージョンでは、翻訳対象にされたセンシティブ属性のサニタイズ強化や、問題となる処理の制限が行われています。

一方で、17系と18系については対策バージョンが示されていません。そのため、17系または18系を継続利用している環境では、そのまま使い続けるのではなく、修正が提供されているサポート対象バージョンへ移行する前提で対応を検討する必要があります。