CVE-2026-27970

Angular is a development platform for building mobile and desktop web applications using TypeScript/JavaScript and other languages. Versions prior to 21.2.0, 21.1.16, 20.3.17, and 19.2.19 have a cross-Site scripting vulnerability in the Angular internationalization (i18n) pipeline. In ICU messages (International Components for Unicode), HTML from translated content was not properly sanitized and could execute arbitrary JavaScript. Angular i18n typically involves three steps, extracting all messages from an application in the source language, sending the messages to be translated, and then merging their translations back into the final source code. Translations are frequently handled by contracts with specific partner companies, and involve sending the source messages to a separate contractor before receiving final translations for display to the end user. If the returned translations have malicious content, it could be rendered into the application and execute arbitrary JavaScript. When successfully exploited, this vulnerability allows for execution of attacker controlled JavaScript in the application origin. Depending on the nature of the application being exploited this could lead to credential exfiltration and/or page vandalism. Several preconditions apply to the attack. The attacker must compromise the translation file (xliff, xtb, etc.). Unlike most XSS vulnerabilities, this issue is not exploitable by arbitrary users. An attacker must first compromise an application's translation file before they can escalate privileges into the Angular application client. The victim application must use Angular i18n, use one or more ICU messages, render an ICU message, and not defend against XSS via a safe content security policy. Versions 21.2.0, 21.1.6, 20.3.17, and 19.2.19 patch the issue. Until the patch is applied, developers should consider reviewing and verifying translated content received from untrusted third parties before incorporating it in an Angular application, enabling strict CSP controls to block unauthorized JavaScript from executing on the page, and enabling Trusted Types to enforce proper HTML sanitization.
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:angular:angular:*:*:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:*:*:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:*:*:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next0:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next1:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next2:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next3:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:rc0:*:*:*:node.js:*:*

History

27 Feb 2026, 17:11

Type Values Removed Values Added
CPE cpe:2.3:a:angular:angular:21.2.0:next0:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next3:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:*:*:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next1:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:rc0:*:*:*:node.js:*:*
cpe:2.3:a:angular:angular:21.2.0:next2:*:*:*:node.js:*:*
References () https://github.com/angular/angular/commit/306f367899dfc2e04238fecd3455547b5d54075d - () https://github.com/angular/angular/commit/306f367899dfc2e04238fecd3455547b5d54075d - Patch
References () https://github.com/angular/angular/commit/7d58b798c626bb0e4e5f89ca8affdce4f352b232 - () https://github.com/angular/angular/commit/7d58b798c626bb0e4e5f89ca8affdce4f352b232 - Patch
References () https://github.com/angular/angular/commit/b85830953281ff3a1a77bbfe69019d352d509c93 - () https://github.com/angular/angular/commit/b85830953281ff3a1a77bbfe69019d352d509c93 - Patch
References () https://github.com/angular/angular/pull/67183 - () https://github.com/angular/angular/pull/67183 - Issue Tracking, Patch
References () https://github.com/angular/angular/security/advisories/GHSA-prjf-86w9-mfqv - () https://github.com/angular/angular/security/advisories/GHSA-prjf-86w9-mfqv - Mitigation, Patch, Vendor Advisory
First Time Angular
Angular angular
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 6.1

27 Feb 2026, 14:06

Type Values Removed Values Added
Summary
  • (es) Angular es una plataforma de desarrollo para construir aplicaciones web móviles y de escritorio usando TypeScript/JavaScript y otros lenguajes. Versiones anteriores a 21.2.0, 21.1.16, 20.3.17 y 19.2.19 tienen una vulnerabilidad de cross-site scripting en la tubería de internacionalización (i18n) de Angular. En los mensajes ICU (International Components for Unicode), el HTML del contenido traducido no se sanitizaba correctamente y podía ejecutar JavaScript arbitrario. La i18n de Angular típicamente involucra tres pasos: extraer todos los mensajes de una aplicación en el lenguaje fuente, enviar los mensajes para ser traducidos y luego fusionar sus traducciones de vuelta al código fuente final. Las traducciones son frecuentemente manejadas por contratos con compañías asociadas específicas, e involucran el envío de los mensajes fuente a un contratista separado antes de recibir las traducciones finales para su visualización al usuario final. Si las traducciones devueltas tienen contenido malicioso, este podría ser renderizado en la aplicación y ejecutar JavaScript arbitrario. Cuando se explota con éxito, esta vulnerabilidad permite la ejecución de JavaScript controlado por el atacante en el origen de la aplicación. Dependiendo de la naturaleza de la aplicación explotada, esto podría llevar a la exfiltración de credenciales y/o vandalismo de página. Varias precondiciones se aplican al ataque. El atacante debe comprometer el archivo de traducción (xliff, xtb, etc.). A diferencia de la mayoría de las vulnerabilidades XSS, este problema no es explotable por usuarios arbitrarios. Un atacante debe primero comprometer el archivo de traducción de una aplicación antes de que pueda escalar privilegios en el cliente de la aplicación Angular. La aplicación víctima debe usar Angular i18n, usar uno o más mensajes ICU, renderizar un mensaje ICU y no defenderse contra XSS a través de una política de seguridad de contenido segura. Las versiones 21.2.0, 21.1.6, 20.3.17 y 19.2.19 parchean el problema. Hasta que se aplique el parche, los desarrolladores deberían considerar revisar y verificar el contenido traducido recibido de terceros no confiables antes de incorporarlo en una aplicación Angular, habilitar controles CSP estrictos para bloquear la ejecución de JavaScript no autorizado en la página y habilitar Trusted Types para forzar una sanitización HTML adecuada.

26 Feb 2026, 02:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-26 02:16

Updated : 2026-02-27 17:11


NVD link : CVE-2026-27970

Mitre link : CVE-2026-27970

CVE.ORG link : CVE-2026-27970


JSON object : View

Products Affected

angular

  • angular
CWE
CWE-79

Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')