CVE-2026-44437
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.
Leer descripción completaMostrar menos
When an Angular SSR application is configured to trust proxy headers and is deployed behind a proxy that forwards the X-Forwarded-Prefix header without prior sanitization, an attacker can provide a payload such as /%2e%2e/evil. This vulnerability is fixed in19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7.
CVSS
- Versión: 4.0
- 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/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
- Puntuación base: 6.9
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.30%
- Percentil entre todas las CVEs puntuadas: 21
- Fecha de la puntuación: 6/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
CWE
- CWE-22, CWE-601
Referencias
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-44437",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-44437",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "yes"
},
{
"technicalImpact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-05-14T13:33:05.814553Z"
}
}
],
"cvssMetricV31": [
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 6.1,
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"integrityImpact": "LOW",
"userInteraction": "REQUIRED",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "LOW"
},
"impactScore": 2.7,
"exploitabilityScore": 2.8
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 6.9,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "MEDIUM",
"valueDensity": "NOT_DEFINED",
"vectorString": "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/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",
"exploitMaturity": "NOT_DEFINED",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "LOW",
"vulnIntegrityImpact": "LOW",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "security-advisories@github.com",
"affectedData": [
{
"vendor": "angular",
"product": "angular-cli",
"versions": [
{
"status": "affected",
"version": ">= 22.0.0-next.0, < 22.0.0-next.7"
},
{
"status": "affected",
"version": ">= 21.0.0-next.0, < 21.2.9"
},
{
"status": "affected",
"version": ">= 20.0.0-next.0, < 20.3.25"
},
{
"status": "affected",
"version": ">= 19.0.0-next.0, < 19.2.25"
}
]
}
]
}
],
"published": "2026-05-13T22:16:44.710",
"references": [
{
"url": "https://github.com/angular/angular-cli/pull/33031",
"tags": [
"Patch"
],
"source": "security-advisories@github.com"
},
{
"url": "https://github.com/angular/angular-cli/security/advisories/GHSA-69xr-m8h6-h664",
"tags": [
"Vendor Advisory"
],
"source": "security-advisories@github.com"
}
],
"vulnStatus": "Analyzed",
"weaknesses": [
{
"type": "Secondary",
"source": "security-advisories@github.com",
"description": [
{
"lang": "en",
"value": "CWE-22"
},
{
"lang": "en",
"value": "CWE-601"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "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-Prefix header without prior sanitization, an attacker can provide a payload such as /%2e%2e/evil. This vulnerability is fixed in19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7."
}
],
"lastModified": "2026-06-17T10:50:38.490",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:angular:angular_cli:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "84649283-0E00-40B7-A82E-01B31E0B8B85",
"versionEndExcluding": "19.2.25",
"versionStartIncluding": "19.0.0"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "5E3A3818-EEE9-41E9-BE31-2408F86FBDDA",
"versionEndExcluding": "20.3.25",
"versionStartIncluding": "20.0.0"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "33722CD1-F326-4CC5-8D65-5830A42E700A",
"versionEndExcluding": "21.2.9",
"versionStartIncluding": "21.0.0"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next0:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "1BD57930-760B-43CB-8BD1-25D79A7E60FC"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next1:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "81D13997-DAC1-472B-93D2-8BF19ACC6BFC"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next2:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "03842109-D464-4CC5-99B5-2E26F2FF8EE6"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next3:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "2F915E06-EA6F-4D87-80B4-DF75DB1F04CE"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next4:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "A8AC64FD-595D-4A0E-A90E-FCED10166F8C"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next5:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "F16DC68A-649E-4DEA-B671-5076C66E32A9"
},
{
"criteria": "cpe:2.3:a:angular:angular_cli:22.0.0:next6:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "DC60F6AD-121E-49C5-9FDF-9F46E2DABF2B"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "security-advisories@github.com"
}