{"id":"CVE-2026-54264","aliases":["GHSA-qxh6-94w6-9r5p"],"url":"https://o3.security/vulnerability/CVE-2026-54264","summary":"Angular: Sensitive Header Leakage on Cross-Origin Redirects in Angular Service Worker","details":"An information disclosure vulnerability exists in the `@angular/service-worker` package of the Angular framework. When the Service Worker fetches assets, it preserves metadata (such as headers) from the original request. However, on cross-origin redirects, the Service Worker fails to strip sensitive headers, violating the Fetch redirect algorithm. \n\nThis allows a remote attacker to obtain sensitive credentials (e.g., `Authorization` tokens, `Proxy-Authorization` credentials, or session cookies) by triggering a cross-origin redirect to an untrusted external origin.\n\n### Impact\nIf an application configured with the Angular Service Worker fetches assets with credential headers (such as `Authorization` header), and one of those requests is redirected to a different origin, the Service Worker will forward those headers to the new origin. This exposes critical credentials and session identifiers to unauthorized third-party servers.\n\n### Attack Preconditions\nFor this vulnerability to be exploitable:\n1. **Vulnerable Configuration:** The application must utilize the `@angular/service-worker` package to fetch assets.\n2. **Credentialed Requests:** The application must attach sensitive request headers (like `Authorization`, `Proxy-Authorization`, or rely on cookies) to asset-group requests.\n3. **Redirect Flow:** These requests must encounter a cross-origin redirect to an attacker-controlled or untrusted domain.\n\n### Patched Versions\n* 22.0.1  \n* 21.2.17  \n* 20.3.25\n\n### Credits\nThis vulnerability was discovered and reported by [CodeMender from Google DeepMind](https://deepmind.google/blog/introducing-codemender-an-ai-agent-for-code-security/).","published":"2026-06-22T15:32:48.163Z","modified":"2026-08-12T03:51:47.289511996Z","cvss":null,"epss":{"score":0.0039,"percentile":0.32047,"asOf":"2026-09-01"},"cisaKev":null,"exploitsKnown":0,"affectedPackages":[{"ecosystem":"npm","name":"@angular/service-worker","fixedVersion":"22.0.1"},{"ecosystem":"npm","name":"@angular/service-worker","fixedVersion":"21.2.17"},{"ecosystem":"npm","name":"@angular/service-worker","fixedVersion":"20.3.25"},{"ecosystem":"npm","name":"@angular/service-worker","fixedVersion":null}],"fix":{"url":"https://github.com/angular/angular/commit/47d68dcb26266316647133ab6385e77fc3e5ae08","label":"angular/angular@47d68dc"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/54xxx/CVE-2026-54264.json"},{"type":"ADVISORY","url":"https://github.com/angular/angular/security/advisories/GHSA-qxh6-94w6-9r5p"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54264"},{"type":"FIX","url":"https://github.com/angular/angular/commit/47d68dcb26266316647133ab6385e77fc3e5ae08"},{"type":"FIX","url":"https://github.com/angular/angular/pull/69029"},{"type":"PACKAGE","url":"https://github.com/angular/angular"}],"provenance":{"sources":["OSV.dev","FIRST.org (EPSS)"],"lastVerified":"2026-08-12T03:51:47.289511996Z"}}