Every CVE Search/ Get API key

CVE-2026-104871

Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

6.3 MediumFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.42%Unchanged since Oct 3, 2026
90%50%10%1%

What each source reports

CVE List Score used 6.3

Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

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.

Record
CVE-2026-104871
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
EUVDEUVD-2026-91778 6.3

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.

Record
EUVD-2026-91778
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-7g7c-h8rr-7p6q 6.3

Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

A Path Traversal vulnerability exists in the prerendered (SSG) page retrieval logic of CommonEngine in @angular/ssr/node (and @angular/ssr in earlier versions). When deployed on Windows, an attacker can craft a request path with backslash directory traversal sequences that causes CommonEngine to serve prerendered pages from sibling output directories.

The vulnerability occurs due to how relative URLs and Windows file paths are resolved and validated:

  1. A request URL containing a backslash parent traversal segment (e.g., /..\app-admin) is passed to CommonEngine.render({ url }).
  2. The engine parses the URL using new URL(url, 'resolve://'). Because resolve:// is a non-special scheme under the WHATWG URL standard, backslashes are not normalized to forward slashes, leaving the pathname unnormalized as /..\app-admin.
  3. The engine constructs the candidate file path using join(publicPath, pathname, 'index.html'). On Windows, path.join treats \ as a path delimiter, resolving the parent segment (..\) out of publicPath (e.g., dist\app) into a sibling directory (e.g., dist\app-admin\index.html).
  4. The containment check (pagePath.startsWith(normalize(publicPath))) performs a prefix match without a trailing path delimiter. Because the sibling folder name starts with the configured public folder name (e.g., dist\app-admin starts with dist\app), the check erroneously succeeds.
  5. If the target file exists and contains the Angular SSG marker (ng-server-context="...ssg..."), CommonEngine reads and serves the sibling page instead of rendering the requested route.

Impact

This vulnerability allows unauthorized access to prerendered static pages from adjacent applications or build outputs:

  • Information Disclosure: Prerendered HTML pages located in sibling directories sharing the same name prefix as the public directory (e.g., an internal administration app app-admin adjacent to app) can be accessed by unauthorized users.
  • Limited Scope: Only HTML files matching the Angular SSG marker regex are served. Arbitrary non-Angular files, secrets, or configuration files without the SSG context attribute cannot be read through this mechanism.

Attack Preconditions

  • The application must use CommonEngine from @angular/ssr/node (or @angular/ssr in v17–v18).
  • The application must be hosted on Windows (where Node's path.join resolves \ as a path separator).
  • The application passes a relative request URL (such as req.url or req.originalUrl without origin) into CommonEngine.render({ url }).
  • A sibling directory exists whose name starts with the same prefix as the configured publicPath directory (e.g., dist\app-admin alongside dist\app).
  • The targeted sibling directory contains prerendered HTML output containing the Angular SSG marker.

Affected Versions

  • >= 22.0.0, < 22.1.7
  • >= 21.0.0, < 21.2.23
  • >= 20.0.0, < 20.3.36
  • <= 19.2.27

Patches

  • 22.1.7
  • 21.2.23
  • 20.3.36

Versions <= 19.2.27 have reached End of Support / LTS expiration and will not be patched.

Workarounds

Until a patch is applied, developers using CommonEngine on Windows can sanitize request URLs in server.ts before passing them to CommonEngine.render, ensuring backslashes are replaced or that an absolute HTTP URL is constructed:

server.use((req, res, next) => {
  const { protocol, originalUrl, headers } = req;

  // Normalize backslashes or construct a full HTTP URL (which forces WHATWG URL normalization)
  const sanitizedUrl = `${protocol}://${headers.host}${originalUrl.replace(/\\/g, '/')}`;

  commonEngine
    .render({
      bootstrap,
      documentFilePath: indexHtml,
      url: sanitizedUrl,
      publicPath: distFolder,
    })
    .then((html) => res.send(html))
    .catch((err) => next(err));
});

Alternatively, migrate from the deprecated CommonEngine to AngularNodeAppEngine, which relies on manifest-based route matching rather…

Record
GHSA-7g7c-h8rr-7p6q
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
NVD 6.3

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.

Record
CVE-2026-104871
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Weakness
CWE-22
Updated
2026-11-02
OSV 6.3

Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

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.

Record
CVE-2026-104871
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
OSVGHSA-7g7c-h8rr-7p6q 6.3

Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows

A Path Traversal vulnerability exists in the prerendered (SSG) page retrieval logic of CommonEngine in @angular/ssr/node (and @angular/ssr in earlier versions). When deployed on Windows, an attacker can craft a request path with backslash directory traversal sequences that causes CommonEngine to serve prerendered pages from sibling output directories.

The vulnerability occurs due to how relative URLs and Windows file paths are resolved and validated:

  1. A request URL containing a backslash parent traversal segment (e.g., /..\app-admin) is passed to CommonEngine.render({ url }).
  2. The engine parses the URL using new URL(url, 'resolve://'). Because resolve:// is a non-special scheme under the WHATWG URL standard, backslashes are not normalized to forward slashes, leaving the pathname unnormalized as /..\app-admin.
  3. The engine constructs the candidate file path using join(publicPath, pathname, 'index.html'). On Windows, path.join treats \ as a path delimiter, resolving the parent segment (..\) out of publicPath (e.g., dist\app) into a sibling directory (e.g., dist\app-admin\index.html).
  4. The containment check (pagePath.startsWith(normalize(publicPath))) performs a prefix match without a trailing path delimiter. Because the sibling folder name starts with the configured public folder name (e.g., dist\app-admin starts with dist\app), the check erroneously succeeds.
  5. If the target file exists and contains the Angular SSG marker (ng-server-context="...ssg..."), CommonEngine reads and serves the sibling page instead of rendering the requested route.

Impact

This vulnerability allows unauthorized access to prerendered static pages from adjacent applications or build outputs:

  • Information Disclosure: Prerendered HTML pages located in sibling directories sharing the same name prefix as the public directory (e.g., an internal administration app app-admin adjacent to app) can be accessed by unauthorized users.
  • Limited Scope: Only HTML files matching the Angular SSG marker regex are served. Arbitrary non-Angular files, secrets, or configuration files without the SSG context attribute cannot be read through this mechanism.

Attack Preconditions

  • The application must use CommonEngine from @angular/ssr/node (or @angular/ssr in v17–v18).
  • The application must be hosted on Windows (where Node's path.join resolves \ as a path separator).
  • The application passes a relative request URL (such as req.url or req.originalUrl without origin) into CommonEngine.render({ url }).
  • A sibling directory exists whose name starts with the same prefix as the configured publicPath directory (e.g., dist\app-admin alongside dist\app).
  • The targeted sibling directory contains prerendered HTML output containing the Angular SSG marker.

Affected Versions

  • >= 22.0.0, < 22.1.7
  • >= 21.0.0, < 21.2.23
  • >= 20.0.0, < 20.3.36
  • <= 19.2.27

Patches

  • 22.1.7
  • 21.2.23
  • 20.3.36

Versions <= 19.2.27 have reached End of Support / LTS expiration and will not be patched.

Workarounds

Until a patch is applied, developers using CommonEngine on Windows can sanitize request URLs in server.ts before passing them to CommonEngine.render, ensuring backslashes are replaced or that an absolute HTTP URL is constructed:

server.use((req, res, next) => {
  const { protocol, originalUrl, headers } = req;

  // Normalize backslashes or construct a full HTTP URL (which forces WHATWG URL normalization)
  const sanitizedUrl = `${protocol}://${headers.host}${originalUrl.replace(/\\/g, '/')}`;

  commonEngine
    .render({
      bootstrap,
      documentFilePath: indexHtml,
      url: sanitizedUrl,
      publicPath: distFolder,
    })
    .then((html) => res.send(html))
    .catch((err) => next(err));
});

Alternatively, migrate from the deprecated CommonEngine to AngularNodeAppEngine, which relies on manifest-based route matching rather…

Record
GHSA-7g7c-h8rr-7p6q
CVSS 4.0
6.3 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weakness
CWE-22
Updated
2026-11-02
Show 46 moreShow less
OSVCLSA-2026-1791302781 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1791302781
Updated
2026-11-02
OSVCLSA-2026-1791320260 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1791320260
Updated
2026-11-02
OSVCLSA-2026-1791320540 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1791320540
Updated
2026-11-02
OSVCLSA-2026-1791320698 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1791320698
Updated
2026-11-02
OSVCLSA-2026-1791322653 No score

TuxCare security update for 2 packages (1 CVE)

TuxCare rebuilt 2 packages to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1791322653
Updated
2026-11-02
OSVCLSA-2026-1792163463 No score

TuxCare security update for @angular/pwa (1 CVE)

TuxCare rebuilt @angular/pwa to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792163463
Updated
2026-11-02
OSVCLSA-2026-1792163464 No score

TuxCare security update for @angular/pwa (1 CVE)

TuxCare rebuilt @angular/pwa to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792163464
Updated
2026-11-02
OSVCLSA-2026-1792163465 No score

TuxCare security update for @angular/pwa (1 CVE)

TuxCare rebuilt @angular/pwa to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792163465
Updated
2026-11-02
OSVCLSA-2026-1792163466 No score

TuxCare security update for @angular/pwa (1 CVE)

TuxCare rebuilt @angular/pwa to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792163466
Updated
2026-11-02
OSVCLSA-2026-1792163467 No score

TuxCare security update for @angular/pwa (1 CVE)

TuxCare rebuilt @angular/pwa to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792163467
Updated
2026-11-02
OSVCLSA-2026-1792202609 No score

TuxCare security update for @angular/build (1 CVE)

TuxCare rebuilt @angular/build to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792202609
Updated
2026-11-02
OSVCLSA-2026-1792202610 No score

TuxCare security update for @angular/build (1 CVE)

TuxCare rebuilt @angular/build to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792202610
Updated
2026-11-02
OSVCLSA-2026-1792202611 No score

TuxCare security update for @angular/build (1 CVE)

TuxCare rebuilt @angular/build to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792202611
Updated
2026-11-02
OSVCLSA-2026-1792202612 No score

TuxCare security update for @angular/build (1 CVE)

TuxCare rebuilt @angular/build to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792202612
Updated
2026-11-02
OSVCLSA-2026-1792248409 No score

TuxCare security update for @angular-devkit/build-angular (1 CVE)

TuxCare rebuilt @angular-devkit/build-angular to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792248409
Updated
2026-11-02
OSVCLSA-2026-1792248410 No score

TuxCare security update for @angular-devkit/build-angular (1 CVE)

TuxCare rebuilt @angular-devkit/build-angular to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792248410
Updated
2026-11-02
OSVCLSA-2026-1792248411 No score

TuxCare security update for @angular-devkit/build-angular (1 CVE)

TuxCare rebuilt @angular-devkit/build-angular to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792248411
Updated
2026-11-02
OSVCLSA-2026-1792248412 No score

TuxCare security update for @angular-devkit/build-angular (1 CVE)

TuxCare rebuilt @angular-devkit/build-angular to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792248412
Updated
2026-11-02
OSVCLSA-2026-1792279536 No score

TuxCare security update for @angular-devkit/core (1 CVE)

TuxCare rebuilt @angular-devkit/core to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792279536
Updated
2026-11-02
OSVCLSA-2026-1792279537 No score

TuxCare security update for @angular-devkit/core (1 CVE)

TuxCare rebuilt @angular-devkit/core to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792279537
Updated
2026-11-02
OSVCLSA-2026-1792279538 No score

TuxCare security update for @angular-devkit/core (1 CVE)

TuxCare rebuilt @angular-devkit/core to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792279538
Updated
2026-11-02
OSVCLSA-2026-1792279539 No score

TuxCare security update for @angular-devkit/core (1 CVE)

TuxCare rebuilt @angular-devkit/core to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792279539
Updated
2026-11-02
OSVCLSA-2026-1792279540 No score

TuxCare security update for @angular-devkit/core (1 CVE)

TuxCare rebuilt @angular-devkit/core to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792279540
Updated
2026-11-02
OSVCLSA-2026-1792327355 No score

TuxCare security update for @angular-devkit/schematics-cli (1 CVE)

TuxCare rebuilt @angular-devkit/schematics-cli to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792327355
Updated
2026-11-02
OSVCLSA-2026-1792327356 No score

TuxCare security update for @angular-devkit/schematics-cli (1 CVE)

TuxCare rebuilt @angular-devkit/schematics-cli to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792327356
Updated
2026-11-02
OSVCLSA-2026-1792327357 No score

TuxCare security update for @angular-devkit/schematics-cli (1 CVE)

TuxCare rebuilt @angular-devkit/schematics-cli to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792327357
Updated
2026-11-02
OSVCLSA-2026-1792327358 No score

TuxCare security update for @angular-devkit/schematics-cli (1 CVE)

TuxCare rebuilt @angular-devkit/schematics-cli to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792327358
Updated
2026-11-02
OSVCLSA-2026-1792339037 No score

TuxCare security update for @angular/create (1 CVE)

TuxCare rebuilt @angular/create to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792339037
Updated
2026-11-02
OSVCLSA-2026-1792339038 No score

TuxCare security update for @angular/create (1 CVE)

TuxCare rebuilt @angular/create to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792339038
Updated
2026-11-02
OSVCLSA-2026-1792339039 No score

TuxCare security update for @angular/create (1 CVE)

TuxCare rebuilt @angular/create to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792339039
Updated
2026-11-02
OSVCLSA-2026-1792339040 No score

TuxCare security update for @angular/create (1 CVE)

TuxCare rebuilt @angular/create to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792339040
Updated
2026-11-02
OSVCLSA-2026-1792339041 No score

TuxCare security update for @angular/create (1 CVE)

TuxCare rebuilt @angular/create to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792339041
Updated
2026-11-02
OSVCLSA-2026-1792348155 No score

TuxCare security update for @angular/ssr (1 CVE)

TuxCare rebuilt @angular/ssr to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792348155
Updated
2026-11-02
OSVCLSA-2026-1792348156 No score

TuxCare security update for @angular/ssr (1 CVE)

TuxCare rebuilt @angular/ssr to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792348156
Updated
2026-11-02
OSVCLSA-2026-1792348157 No score

TuxCare security update for @angular/ssr (1 CVE)

TuxCare rebuilt @angular/ssr to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792348157
Updated
2026-11-02
OSVCLSA-2026-1792348158 No score

TuxCare security update for @angular/ssr (1 CVE)

TuxCare rebuilt @angular/ssr to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792348158
Updated
2026-11-02
OSVCLSA-2026-1792348159 No score

TuxCare security update for @angular/ssr (1 CVE)

TuxCare rebuilt @angular/ssr to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792348159
Updated
2026-11-02
OSVCLSA-2026-1792358885 No score

TuxCare security update for @ngtools/webpack (1 CVE)

TuxCare rebuilt @ngtools/webpack to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792358885
Updated
2026-11-02
OSVCLSA-2026-1792358886 No score

TuxCare security update for @ngtools/webpack (1 CVE)

TuxCare rebuilt @ngtools/webpack to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792358886
Updated
2026-11-02
OSVCLSA-2026-1792358887 No score

TuxCare security update for @ngtools/webpack (1 CVE)

TuxCare rebuilt @ngtools/webpack to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792358887
Updated
2026-11-02
OSVCLSA-2026-1792358888 No score

TuxCare security update for @ngtools/webpack (1 CVE)

TuxCare rebuilt @ngtools/webpack to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792358888
Updated
2026-11-02
OSVCLSA-2026-1792364766 No score

TuxCare security update for @schematics/angular (1 CVE)

TuxCare rebuilt @schematics/angular to address 1 CVE. Fixed in 22.1.6-tuxcare.1.

Record
CLSA-2026-1792364766
Updated
2026-11-02
OSVCLSA-2026-1792364767 No score

TuxCare security update for @schematics/angular (1 CVE)

TuxCare rebuilt @schematics/angular to address 1 CVE. Fixed in 19.2.25-tuxcare.3.

Record
CLSA-2026-1792364767
Updated
2026-11-02
OSVCLSA-2026-1792364768 No score

TuxCare security update for @schematics/angular (1 CVE)

TuxCare rebuilt @schematics/angular to address 1 CVE. Fixed in 19.2.27-tuxcare.2.

Record
CLSA-2026-1792364768
Updated
2026-11-02
OSVCLSA-2026-1792364769 No score

TuxCare security update for @schematics/angular (1 CVE)

TuxCare rebuilt @schematics/angular to address 1 CVE. Fixed in 18.2.21-tuxcare.3.

Record
CLSA-2026-1792364769
Updated
2026-11-02
OSVCLSA-2026-1792364771 No score

TuxCare security update for @schematics/angular (1 CVE)

TuxCare rebuilt @schematics/angular to address 1 CVE. Fixed in 17.3.17-tuxcare.5.

Record
CLSA-2026-1792364771
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
@angular/ssr
npm
22.0.0 up to 22.1.7
22.1.7
@angular/ssr
npm
21.0.0 up to 21.2.23
21.2.23
@angular/ssr
npm
20.0.0 up to 20.3.36
20.3.36
@angular/ssr
npm
through 19.2.27 None known
@angular-devkit/schematics
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular/cli
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular-devkit/schematics
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular/cli
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular-devkit/schematics
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular/cli
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
Show 45 moreShow less
Affected packages
PackageAffectedFixed
@angular-devkit/schematics
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.117.3.17-tuxcare.217.3.17-tuxcare.317.3.17-tuxcare.4
17.3.17-tuxcare.5
@angular/cli
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.117.3.17-tuxcare.217.3.17-tuxcare.317.3.17-tuxcare.4
17.3.17-tuxcare.5
@angular-devkit/schematics
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular/cli
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular/pwa
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular/pwa
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular/pwa
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular/pwa
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.117.3.17-tuxcare.217.3.17-tuxcare.317.3.17-tuxcare.4
17.3.17-tuxcare.5
@angular/pwa
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular/build
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular/build
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular/build
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular/build
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular-devkit/build-angular
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular-devkit/build-angular
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular-devkit/build-angular
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.3
17.3.17-tuxcare.5
@angular-devkit/build-angular
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular-devkit/core
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular-devkit/core
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular-devkit/core
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular-devkit/core
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.3
17.3.17-tuxcare.5
@angular-devkit/core
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular-devkit/schematics-cli
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular-devkit/schematics-cli
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular-devkit/schematics-cli
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.3
17.3.17-tuxcare.5
@angular-devkit/schematics-cli
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular/create
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular/create
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular/create
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular/create
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.117.3.17-tuxcare.217.3.17-tuxcare.317.3.17-tuxcare.4
17.3.17-tuxcare.5
@angular/create
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@angular/ssr
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@angular/ssr
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.119.2.25-tuxcare.2
19.2.25-tuxcare.3
@angular/ssr
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@angular/ssr
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.117.3.17-tuxcare.217.3.17-tuxcare.317.3.17-tuxcare.4
17.3.17-tuxcare.5
@angular/ssr
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.118.2.21-tuxcare.2
18.2.21-tuxcare.3
@ngtools/webpack
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@ngtools/webpack
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@ngtools/webpack
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.2
18.2.21-tuxcare.3
@ngtools/webpack
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.3
17.3.17-tuxcare.5
@schematics/angular
TuxCare:npm
22.1.6-tuxcare.0 up to 22.1.6-tuxcare.1, plus listed versions
22.1.6
22.1.6-tuxcare.1
@schematics/angular
TuxCare:npm
19.2.25-tuxcare.0 up to 19.2.25-tuxcare.3, plus listed versions
19.2.2519.2.25-tuxcare.2
19.2.25-tuxcare.3
@schematics/angular
TuxCare:npm
19.2.27-tuxcare.0 up to 19.2.27-tuxcare.2, plus listed versions
19.2.2719.2.27-tuxcare.1
19.2.27-tuxcare.2
@schematics/angular
TuxCare:npm
18.2.21-tuxcare.0 up to 18.2.21-tuxcare.3, plus listed versions
18.2.2118.2.21-tuxcare.2
18.2.21-tuxcare.3
@schematics/angular
TuxCare:npm
17.3.17-tuxcare.0 up to 17.3.17-tuxcare.5, plus listed versions
17.3.1717.3.17-tuxcare.3
17.3.17-tuxcare.5

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-104871 is a medium vulnerability (CVSS 6.3) in Angular Angular-cli, published October 2, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.42%, the 36th percentile. Fixed in @angular/ssr 22.1.7.

References

Show 6 moreShow less
This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open