| Title | AngularのAngularJSにおけるクロスサイトスクリプティングの脆弱性 |
|---|---|
| Summary | Angularは、TypeScript/JavaScriptおよびその他の言語を使用してモバイルおよびデスクトップのウェブアプリケーションを構築するための開発プラットフォームです。22.0.0-rc.2、21.2.15、20.3.22、および19.2.22より前のバージョンには、@angular/compilerおよび@angular/coreパッケージに特定の名前空間を利用した回避手段を通じて要素および属性のサニタイズや検証をバイパスできる問題が存在していました。具体的には、名前空間付きのスクリプト要素(例:svg:scriptまたは:svg:script)がAngularのテンプレートプリパーサによってスクリプト要素として正しく認識されず、テンプレートコンパイル時に除去されないまま通過してしまっていました。さらに、要素属性のセキュリティコンテキストスキーママッピングが名前空間付き要素(SVGやMathMLなど)の属性を一貫して正しく処理しておらず、悪意のある名前空間付き属性が実行時およびコンパイル時のサニタイザを回避できる隙を生んでいました。これらの欠陥により、カスタム名前空間を含むテンプレートやタグ構造を注入または提供できる攻撃者は、Angularのスクリプト除去ロジックおよび属性サニタイザを回避し、クライアントサイドのクロスサイトスクリプティング(XSS)を引き起こす可能性があります。この脆弱性は22.0.0-rc.2、21.2.15、20.3.22、および19.2.22で修正されています。 |
| Possible impacts | ・当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 ・当該ソフトウェアは停止しません。 |
| Solution | ベンダ情報を参照して適切な対策を実施してください。 |
| Publication Date | June 22, 2026, midnight |
| Registration Date | June 29, 2026, 11:24 a.m. |
| Last Update | June 29, 2026, 11:24 a.m. |
| CVSS3.0 : 警告 | |
| Score | 6.1 |
|---|---|
| Vector | CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| Angular |
| AngularJS 18.2.14 およびそれ以前 |
| AngularJS 19.0.0 以上 19.2.22 未満 |
| AngularJS 20.0.0 以上 20.3.22 未満 |
| AngularJS 21.0.0 以上 21.2.15 未満 |
| AngularJS 22.0.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年06月29日] 掲載 |
June 29, 2026, 11:24 a.m. |
| Summary | Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 22.0.0-rc.2, 21.2.15, 20.3.22 and 19.2.22, an issue in the @angular/compiler and @angular/core packages allows bypassing element and attribute sanitization/validation through specific namespace workarounds. Specifically, namespaced script elements (e.g., <svg:script> or <:svg:script>) were not properly identified as script elements by the Angular template preparser, allowing them to pass through template compilation without being stripped. Furthermore, security context schema mappings for element attributes did not consistently handle attributes within namespaced elements (like SVG and MathML), opening up gaps where malicious namespaced attributes could bypass runtime and compile-time sanitizers. Combined, these flaws enable an attacker who can inject or supply a template/tag structure with custom namespaces to bypass Angular's script-stripping logic and attribute sanitizers, leading to client-side Cross-Site Scripting (XSS). This vulnerability is fixed in 22.0.0-rc.2, 21.2.15, 20.3.22 and 19.2.22. |
|---|---|
| Publication Date | June 23, 2026, 1:16 a.m. |
| Registration Date | June 27, 2026, 4:10 a.m. |
| Last Update | June 27, 2026, 4:39 a.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:a:angularjs:angularjs:*:*:*:*:*:*:*:* | 18.2.14 | ||||
| cpe:2.3:a:angularjs:angularjs:*:*:*:*:*:*:*:* | 19.0.0 | 19.2.22 | |||
| cpe:2.3:a:angularjs:angularjs:*:*:*:*:*:*:*:* | 20.0.0 | 20.3.22 | |||
| cpe:2.3:a:angularjs:angularjs:*:*:*:*:*:*:*:* | 21.0.0 | 21.2.15 | |||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next0:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next1:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next10:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next11:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next12:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next2:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next3:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next4:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next5:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next6:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next7:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next8:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:next9:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:rc0:*:*:*:*:*:* | |||||
| cpe:2.3:a:angularjs:angularjs:22.0.0:rc1:*:*:*:*:*:* | |||||