CVE-2026-104871
Received Received - Intake

Path Traversal in Angular SSR

Vulnerability report for CVE-2026-104871, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-02

Last updated on: 2026-10-02

Assigner: GitHub, Inc.

Description

The Angular SSR is a server-rise rendering tool for Angular applications. Prior to versions 20.3.36, 21.2.23, and 22.1.7, the CommonEngine retrieveSSGPage prerendered-page retrieval logic in @angular/ssr/node, and in @angular/ssr for versions 17 through 18, accepts a relative request URL containing a backslash parent-traversal segment on Windows. The non-special resolve:// URL base preserves the backslash, path.join interprets it as a Windows separator, and the pagePath.startsWith(normalize(publicPath)) check incorrectly accepts a sibling output directory whose name shares the configured public-directory prefix. An unauthenticated requester can therefore retrieve a sibling prerendered HTML page when that page contains the Angular SSG marker. The issue is limited to Windows deployments that pass relative request URLs to CommonEngine.render, have a prefix-sharing sibling output directory, and contain qualifying prerendered Angular HTML; it does not provide arbitrary file read. This issue is fixed in versions 20.3.36, 21.2.23, and 22.1.7.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-02
Last Modified
2026-10-02
Generated
2026-10-03
AI Q&A
2026-10-02
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 9 associated CPEs
Vendor Product Version / Range
angular angular_ssr From 20.3.36 (exc) to 22.1.7 (exc)
angular angular_ssr From 21.2.23 (exc) to 21.2.23 (exc)
angular angular_ssr From 20.3.36 (exc) to 20.3.36 (exc)
angular angular_ssr to 19.2.27 (exc)
angular angular_cli 22.1.7
angular angular_cli 21.2.23
angular angular_cli 20.3.36
angular angular_ssr to 22.1.7 (exc)
angular angular_ssr From 17 (inc) to 18 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a path traversal vulnerability in Angular's Server-Side Rendering (SSR) tool. It affects Windows deployments using CommonEngine.render with relative request URLs. The issue occurs because path checks incorrectly allow sibling directories sharing the same name prefix as the public directory. An attacker can craft a request with backslash directory traversal sequences to access prerendered HTML pages outside the intended directory.

Detection Guidance

This vulnerability is specific to Angular SSR deployments on Windows with relative URL handling. To detect it, check if your Angular SSR application uses CommonEngine.render with relative paths and has sibling output directories sharing the publicPath prefix. Review server logs for unusual requests containing backslashes or path traversal sequences.

Impact Analysis

An unauthenticated attacker could retrieve prerendered HTML pages from sibling output directories. This may lead to information disclosure if sensitive content was accidentally included in those pages. The impact is limited to Windows systems and requires specific deployment conditions like prefix-sharing sibling directories.

Compliance Impact

This vulnerability could potentially affect compliance with GDPR and HIPAA by allowing unauthorized access to prerendered static pages from sibling output directories. If sensitive data is stored in these pages, it may lead to information disclosure, violating confidentiality requirements under these regulations.

Mitigation Strategies
  • Upgrade to patched versions: 20.3.36, 21.2.23, or 22.1.7 or later.
  • Sanitize all request URLs before passing them to CommonEngine.render.
  • Migrate to AngularNodeAppEngine as an alternative.
  • Ensure no sibling directories share the publicPath prefix in your deployment.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-104871. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart