Platform server: Angular: SSR XSS via Unescaped <template> Content Across DocumentFragment Boundaries in Fallback Raw-Content Elements (CVE-2026-88060)
An XSS vulnerability (CVE-2026-88060) exists in @angular/platform-server during server-side rendering (SSR) HTML serialization when untrusted input is rendered inside <template> elements nested within fallback raw-content elements like <noscript>. The vulnerability arises because the serializer fails to escape closing tags such as </noscript> inside template content due to incomplete ancestor traversal across DocumentFragment boundaries. This causes premature termination of fallback containers and execution of injected markup in browsers. The issue affects multiple Angular platform-server versions and bypasses Angular's default text interpolation safety guarantees during SSR. Workarounds include avoiding untrusted input inside such nested templates and fallback containers. A patch is available for this vulnerability.
AI Analysis
Technical Summary
CVE-2026-88060 is a cross-site scripting (XSS) vulnerability in @angular/platform-server's SSR HTML serialization process. When rendering untrusted user input inside raw-text tags (<xmp>, <style>, <script>), comments, or text nodes within a <template> element nested inside fallback raw-content elements (<noscript>, <iframe>, <noembed>, <noframes>), the serializer fails to escape matching closing tags (e.g., </noscript>). This occurs because the serializer's ancestor traversal stops at the DocumentFragment boundary of the <template> content, missing the enclosing fallback container. Consequently, the closing tags are emitted unescaped, allowing injected markup to break out of the fallback container and execute in the browser. This bypasses Angular's default SSR text interpolation safety guarantees. The vulnerability affects versions >=20.0.0 <20.3.30, >=21.0.0 <21.2.22, >=22.0.0 <22.1.4, and <=19.2.25. A patch is available.
Potential Impact
This vulnerability allows attackers to inject malicious HTML and scripts during server-side rendering in Angular applications that render untrusted input inside <template> elements nested within fallback raw-content containers. It breaks Angular's default safety guarantees for text interpolation in SSR, potentially leading to cross-site scripting attacks. The impact is high due to the ability to execute arbitrary scripts in the context of the affected web application. However, no known exploits in the wild have been reported.
Mitigation Recommendations
A patch is available for this vulnerability and should be applied to affected versions of @angular/platform-server. Until patched, avoid rendering untrusted user input inside <template> elements nested within fallback raw-content elements such as <noscript>, <iframe>, <noembed>, or <noframes> in server-rendered templates. Also, avoid programmatic DOM assembly of <template> elements inside these fallback containers when handling untrusted data.
Platform server: Angular: SSR XSS via Unescaped <template> Content Across DocumentFragment Boundaries in Fallback Raw-Content Elements (CVE-2026-88060)
Description
An XSS vulnerability (CVE-2026-88060) exists in @angular/platform-server during server-side rendering (SSR) HTML serialization when untrusted input is rendered inside <template> elements nested within fallback raw-content elements like <noscript>. The vulnerability arises because the serializer fails to escape closing tags such as </noscript> inside template content due to incomplete ancestor traversal across DocumentFragment boundaries. This causes premature termination of fallback containers and execution of injected markup in browsers. The issue affects multiple Angular platform-server versions and bypasses Angular's default text interpolation safety guarantees during SSR. Workarounds include avoiding untrusted input inside such nested templates and fallback containers. A patch is available for this vulnerability.
CVSS v4.0
Affected software
Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
CVE-2026-88060 is a cross-site scripting (XSS) vulnerability in @angular/platform-server's SSR HTML serialization process. When rendering untrusted user input inside raw-text tags (<xmp>, <style>, <script>), comments, or text nodes within a <template> element nested inside fallback raw-content elements (<noscript>, <iframe>, <noembed>, <noframes>), the serializer fails to escape matching closing tags (e.g., </noscript>). This occurs because the serializer's ancestor traversal stops at the DocumentFragment boundary of the <template> content, missing the enclosing fallback container. Consequently, the closing tags are emitted unescaped, allowing injected markup to break out of the fallback container and execute in the browser. This bypasses Angular's default SSR text interpolation safety guarantees. The vulnerability affects versions >=20.0.0 <20.3.30, >=21.0.0 <21.2.22, >=22.0.0 <22.1.4, and <=19.2.25. A patch is available.
Potential Impact
This vulnerability allows attackers to inject malicious HTML and scripts during server-side rendering in Angular applications that render untrusted input inside <template> elements nested within fallback raw-content containers. It breaks Angular's default safety guarantees for text interpolation in SSR, potentially leading to cross-site scripting attacks. The impact is high due to the ability to execute arbitrary scripts in the context of the affected web application. However, no known exploits in the wild have been reported.
Mitigation Recommendations
A patch is available for this vulnerability and should be applied to affected versions of @angular/platform-server. Until patched, avoid rendering untrusted user input inside <template> elements nested within fallback raw-content elements such as <noscript>, <iframe>, <noembed>, or <noframes> in server-rendered templates. Also, avoid programmatic DOM assembly of <template> elements inside these fallback containers when handling untrusted data.
Technical Details
- Gcve Source
- db.gcve.eu
- Osv Id
- GHSA-v3p8-whq6-r5jg
- Osv Schema Version
- 1.4.0
- Aliases
- ["CVE-2026-88060"]
- Ecosystems
- ["npm"]
- Database Specific Severity
- HIGH
- Cvss Version
- 4.0
Threat ID: 6aa3295e91cc7f3848d18df3
Added to database: 09/10/2026, 22:04:14 UTC
Last enriched: 09/10/2026, 22:06:05 UTC
Last updated: 09/10/2026, 22:06:05 UTC
Views: 1
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.