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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-201",
"CWE-359"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/111xxx/CVE-2026-111753.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "19.2.25"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "20.0.0"
},
{
"fixed": "20.3.34"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"introduced": "21.0.0"
},
{
"fixed": "21.0.3"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "20474d3f0fd7c64071add6e84acf720627e5c19b"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "933ce817d53e25926844fa56af8230816763d08e"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "21.0.3",
"range": [
{
"fixed": "c355ffd99e691fffe5a53e5069d8fc4291676869"
}
],
"source": "REFERENCES_TAG"
},
{
"original_tag": "v20.3.34",
"range": [
{
"fixed": "329172858b99ab3910b15c1e79bd49b0d5094b30"
}
],
"source": "REFERENCES_TAG"
}
]
}