Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Prior to 20.3.34 and 21.0.3, the @angular/common HttpClient function xsrfInterceptorFn uses a regular expression that does not normalize request URLs in the same way as the browser's WHATWG URL parser. With XSRF protection enabled, a mutating HTTP request to an attacker-controlled URL containing backslashes, stripped control characters or spaces, or removable ASCII whitespace can be misclassified as relative and same-origin, causing the interceptor to attach the X-XSRF-TOKEN header before the browser dispatches the request to a cross-origin host. With permissive CORS handling for the custom header, the attacker can obtain the victim's XSRF token and use it to perform cross-site request forgery against the victim session. This issue is fixed in versions 20.3.34 and 21.0.3.
https://github.com/angular/angular/security/advisories/GHSA-jfgx-762w-99vr
https://github.com/angular/angular/releases/tag/v20.3.34
https://github.com/angular/angular/releases/tag/21.0.3
https://github.com/angular/angular/pull/71295
https://github.com/angular/angular/pull/65683
https://github.com/angular/angular/issues/71294
https://github.com/angular/angular/commit/933ce817d53e25926844fa56af8230816763d08e
https://github.com/angular/angular/commit/20474d3f0fd7c64071add6e84acf720627e5c19b
Published: 2026-11-05
Updated: 2026-11-12
Base Score: 5.8
Vector: CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:N
Severity: Medium
Base Score: 8.1
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:N
Severity: High
Base Score: 5.9
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
Severity: Medium
EPSS: 0.00537