{"kind": "product", "path": "vulns/npm/@angular%2Fssr", "name": "@angular/ssr", "product": "@angular/ssr", "ecosystem": "npm", "items": [{"id": "CVE-2026-104871", "noindex": false, "published": "2026-10-02T19:43:50.475Z", "modified": "2026-10-02T20:12:49.364Z", "cvss": 6.3, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N", "severity": "medium", "epss": 0.0042, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2026-104871", "title": "Angular SSR: Path Traversal to Sibling Directories in CommonEngine on Windows", "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 c", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-7g7c-h8rr-7p6q", "https://github.com/angular/angular-cli/commit/645e41a47d21b7651837a4250de99af0509626e2", "https://github.com/angular/angular-cli/commit/70748ca8e76fe4b42798719410336119d943e755"], "fixes": ["20.3.36", "21.2.23", "22.1.7"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2026-44437", "noindex": false, "published": "2026-05-13T21:23:59.260Z", "modified": "2026-05-14T13:35:18.562Z", "cvss": 6.9, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N", "severity": "medium", "epss": 0.00304, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2026-44437", "title": "Angular SSR: Open Redirect and Request Steering via Encoded X-Forwarded-Prefix", "description": "The Angular SSR is a server-rise rendering tool for Angular applications. From 19.0.0-next.0 to before 19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7, a vulnerability exists in the X-Forwarded-Prefix header processing logic within Angular SSR. The internal validation mechanism fails to properly account for URL-encoded characters, specifically dots (%2e%2e). This allows an attacker to bypass security filters by injecting encoded path traversal sequences that are later decoded and utilized by the application logic.\nWhen an Angular SSR application is configured to trust proxy headers and is deployed behind a proxy that forwards the X-Forwarded-Pref", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-69xr-m8h6-h664", "https://github.com/angular/angular-cli/pull/33031", "https://nvd.nist.gov/vuln/detail/CVE-2026-44437"], "fixes": ["19.2.25", "20.3.25", "21.2.9", "22.0.0-next.7"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2026-33397", "noindex": false, "published": "2026-03-26T13:46:16.145Z", "modified": "2026-03-30T14:56:05.822Z", "cvss": 6.9, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N", "severity": "medium", "epss": 0.00343, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2026-33397", "title": "Angular SSR Vulnerable to Protocol-Relative URL Injection via Single Backslash Bypass", "description": "The Angular SSR is a server-rise rendering tool for Angular applications. Versions on the 22.x branch prior to 22.0.0-next.2, the 21.x branch prior to 21.2.3, and the 20.x branch prior to 20.3.21 have an Open Redirect vulnerability in `@angular/ssr` due to an incomplete fix for CVE-2026-27738. While the original fix successfully blocked multiple leading slashes (e.g., `///`), the internal validation logic fails to account for a single backslash (`\\`) bypass. When an Angular SSR application is deployed behind a proxy that passes the `X-Forwarded-Prefix` header, an attacker provides a value starting with a single backslash, the internal validat", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-vfx2-hv2g-xj5f", "https://github.com/angular/angular-cli/pull/32771", "https://github.com/advisories/GHSA-xh43-g2fq-wjrj"], "fixes": ["20.3.21", "21.2.3", "22.0.0-next.2"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2026-27739", "noindex": false, "published": "2026-02-25T16:47:29.705Z", "modified": "2026-02-27T17:59:11.328Z", "cvss": 9.2, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:H/SI:L/SA:N", "severity": "critical", "epss": 0.00576, "kev": false, "exploits": ["public-poc"], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2026-27739", "title": "Angular SSR is vulnerable to SSRF and Header Injection via request handling pipeline", "description": "The Angular SSR is a server-rise rendering tool for Angular applications. Versions prior to 21.2.0-rc.1, 21.1.5, 20.3.17, and 19.2.21 have a Server-Side Request Forgery (SSRF) vulnerability in the Angular SSR request handling pipeline. The vulnerability exists because Angular’s internal URL reconstruction logic directly trusts and consumes user-controlled HTTP headers specifically the Host and `X-Forwarded-*` family to determine the application's base origin without any validation of the destination domain. Specifically, the framework didn't have checks for the host domain, path and character sanitization, and port validation. This vulnerabil", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-x288-3778-4hhx", "https://github.com/angular/angular-cli/pull/32516", "https://angular.dev/best-practices/security#preventing-server-side-request-forgery-ssrf"], "fixes": ["19.2.21", "20.3.17", "21.1.5", "21.2.0-rc.1"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2026-27738", "noindex": false, "published": "2026-02-25T16:40:44.724Z", "modified": "2026-02-27T20:46:26.917Z", "cvss": 6.9, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N", "severity": "medium", "epss": 0.00576, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2026-27738", "title": "Angular SSR has an Open Redirect via X-Forwarded-Prefix", "description": "The Angular SSR is a server-rise rendering tool for Angular applications. An Open Redirect vulnerability exists in the internal URL processing logic in versions on the 19.x branch prior to 19.2.21, the 20.x branch prior to 20.3.17, and the 21.x branch prior to 21.1.5 and 21.2.0-rc.1. The logic normalizes URL segments by stripping leading slashes; however, it only removes a single leading slash. When an Angular SSR application is deployed behind a proxy that passes the `X-Forwarded-Prefix` header, an attacker can provide a value starting with three slashes. This vulnerability allows attackers to conduct large-scale phishing and SEO hijacking. ", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-xh43-g2fq-wjrj", "https://github.com/angular/angular-cli/issues/32501", "https://github.com/angular/angular-cli/pull/32521"], "fixes": ["19.2.21", "20.3.17", "21.1.5", "21.2.0-rc.1"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2025-62427", "noindex": false, "published": "2025-10-16T18:50:11.598Z", "modified": "2025-10-17T13:24:15.389Z", "cvss": 8.7, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00432, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2025-62427", "title": "Server-Side Request Forgery (SSRF) in Angular SSR", "description": "The Angular SSR is a server-rise rendering tool for Angular applications. The vulnerability is a Server-Side Request Forgery (SSRF) flaw within the URL resolution mechanism of Angular's Server-Side Rendering package (@angular/ssr) before 19.2.18, 20.3.6, and 21.0.0-next.8. The function createRequestUrl uses the native URL constructor. When an incoming request path (e.g., originalUrl or url) begins with a double forward slash (//) or backslash (\\\\), the URL constructor treats it as a schema-relative URL. This behavior overrides the security-intended base URL (protocol, host, and port) supplied as the second argument, instead resolving the URL ", "references": ["https://github.com/angular/angular-cli/security/advisories/GHSA-q63q-pgmf-mxhr", "https://github.com/angular/angular-cli/commit/5271547c80662de10cb3bcb648779a83f6efedfb", "https://nvd.nist.gov/vuln/detail/CVE-2025-62427"], "fixes": ["19.2.18", "20.3.6", "21.0.0-next.8"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}, {"id": "CVE-2025-59052", "noindex": false, "published": "2025-09-10T20:13:56.965Z", "modified": "2025-09-10T20:25:32.147Z", "cvss": 7.1, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00355, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2025-59052", "title": "Angular SSR: Global Platform Injector Race Condition Leads to Cross-Request Data Leakage", "description": "Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Angular uses a DI container (the \"platform injector\") to hold request-specific state during server-side rendering. For historical reasons, the container was stored as a JavaScript module-scoped global variable. When multiple requests are processed concurrently, they could inadvertently share or overwrite the global injector state. In practical terms, this can lead to one request responding with data meant for a completely different request, leaking data or tokens included on the rendered page or in response heade", "references": ["https://github.com/angular/angular/security/advisories/GHSA-68x2-mx4q-78m7", "https://github.com/angular/angular-cli/pull/31108", "https://github.com/angular/angular/pull/63562"], "fixes": ["18.2.21", "19.2.16", "20.3.0", "21.0.0-next.3"], "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}, {"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}]}], "total": 7, "unknown_count": 0, "release_unconfirmed": false, "page": 1, "pages": 1, "filtered": false, "noindex": false, "filters": {}, "page_size": 20, "products": [{"name": "@angular/ssr", "path": "vulns/npm/@angular%2Fssr", "ecosystem": "npm"}], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "web", "path": "vulns/stack/web", "slug": "web"}, {"name": "php", "path": "vulns/stack/php", "slug": "php"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}, {"name": "node", "path": "vulns/stack/node", "slug": "node"}, {"name": "database", "path": "vulns/stack/database", "slug": "database"}, {"name": "containers", "path": "vulns/stack/containers", "slug": "containers"}, {"name": "network", "path": "vulns/stack/network", "slug": "network"}, {"name": "applications", "path": "vulns/stack/applications", "slug": "applications"}], "versions": [], "stats": {"recent": 1, "kev": 0}, "lastmod": "2026-10-02T20:12:49.364Z", "early_advisories": [], "license": "Sie dürfen die Auswahl von PatchFirst und unsere Ergänzungen (Prioritäten, Frühwarnungen, Texte, Zusammenfassungen und Aggregate) für eigene Zwecke einschließlich interner geschäftlicher Aufgaben frei nutzen. Weiterverkauf, kommerzielle Verbreitung und massenhafte Spiegelung dieser Auswahl oder Ergänzungen erfordern eine schriftliche Vereinbarung mit dem Betreiber. Nennen Sie bei jeder Nutzung oder Veröffentlichung der Auswahl oder unserer Ergänzungen PatchFirst (https://patchfirst.dev/vulns/) mit diesem Link zur Feedseite Ihrer Region als Quelle. Originaleinträge aus offenen Quellen unterliegen weiterhin ihren jeweiligen Lizenzen und Bedingungen. Diese Bedingungen beschränken Ihre Rechte an den Originaldaten nicht, die Sie direkt bei den Quellen beziehen können.", "terms_url": "https://patchfirst.dev/de/vulns/#feed-terms", "attribution": {"name": "PatchFirst", "url": "https://patchfirst.dev/vulns/"}, "source_changes": "PatchFirst wählt Einträge aus, normalisiert und kombiniert sie; Zusammenfassungen und Übersetzungen können hinzukommen. Nachrichten werden im jeweiligen Eintrag mit einem Link zur Originalquelle belegt.", "sources": [{"id": "cve", "name": "CVE List / CVE.org", "url": "https://www.cve.org/", "license": "CVE Terms of Use", "terms_url": "https://www.cve.org/Legal/TermsOfUse", "notice": "Copyright © 1999–2021, The MITRE Corporation. LICENSE Submissions : For all materials you submit to the Common Vulnerabilities and Exposures (CVE™), you hereby grant to The MITRE Corporation (MITRE) and all CVE Numbering Authorities (CNAs) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute such materials and derivative works. Unless required by applicable law or agreed to in writing, you provide such materials on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. CVE Usage : MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. DISCLAIMERS ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN \"AS IS\" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."}, {"id": "osv", "name": "OSV", "url": "https://osv.dev/", "terms_url": "https://google.github.io/osv.dev/data/", "terms": "Die Lizenzen der Ursprungsdatenbanken unterscheiden sich; siehe Quellenkatalog."}, {"id": "kev", "name": "CISA KEV", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog", "license": "CC0-1.0", "terms_url": "https://github.com/cisagov/kev-data/blob/develop/LICENSE"}, {"id": "epss", "name": "FIRST EPSS", "url": "https://www.first.org/epss/", "terms_url": "https://www.first.org/epss/faq", "terms": "Frei zugängliche Bewertungen; Quellenangabe erbeten (FIRST EPSS, Bewertungen von Empirical Security)."}, {"id": "github-advisory", "name": "GitHub Advisory Database", "url": "https://github.com/advisories", "license": "CC-BY-4.0", "terms_url": "https://github.com/github/advisory-database/blob/main/LICENSE.md"}, {"id": "exploitdb", "name": "Exploit-DB", "url": "https://www.exploit-db.com/", "license": "GPL-2.0", "terms_url": "https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md"}, {"id": "metasploit", "name": "Metasploit", "url": "https://github.com/rapid7/metasploit-framework", "license": "BSD-3-Clause", "terms_url": "https://github.com/rapid7/metasploit-framework/blob/master/LICENSE", "notice": "Copyright (c) 2006-2026, Rapid7, Inc.\nLicense: BSD-3-clause\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n .\n * Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n .\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n .\n * Neither the name of Rapid7, Inc. nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."}, {"id": "nuclei", "name": "Nuclei Templates", "url": "https://github.com/projectdiscovery/nuclei-templates", "license": "MIT", "terms_url": "https://github.com/projectdiscovery/nuclei-templates/blob/main/LICENSE.md", "notice": "MIT License\n\nCopyright (c) 2025 ProjectDiscovery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}, {"id": "linux-kernel", "name": "Linux kernel releases", "url": "https://www.kernel.org/", "license": "CC-BY-SA-4.0", "terms_url": "https://www.kernel.org/legal.html", "notice": "Copyright (C) 1997-2014 by The Linux Kernel Organization, Inc."}]}