Panorama e alcance
O problema afeta o componente @angular/compiler e foi classificado com pontuação CVSS de 8.6. As versões corrigidas indicadas pelas fontes são: Angular 19.2.17, 20.3.15 e 21.0.2. Aplicações que usam versões inferiores a essas e que renderizam entrada não confiável (bancos de dados, APIs, inputs de usuários) podem estar em risco.
Vetor de exploração e técnica
O compilador falha ao tratar corretamente atributos que contém URLs (por exemplo xlink:href e href) e elementos de animação SVG (<animate>, <set>, <animateMotion>, <animateTransform>). Um atacante pode ligar (bind) dados controlados por usuário ao atributo attributeName de uma animação e apontar para propriedades sensíveis, ou injetar um payload do tipo javascript: em valores/atributos da animação. Quando o elemento é acionado — por interação ou temporização automática —, o código malicioso é executado no domínio da aplicação.
Impacto prático
Exploits bem-sucedidos podem levar a roubo de tokens de autenticação, sequestro de sessão, exfiltração de dados do usuário e ações não autorizadas em nome de usuários autenticados. A natureza de Stored XSS implica que conteúdo que persiste (ex.: entradas em banco) pode tornar muitos usuários vulneráveis ao carregarem a página.
Mitigações imediatas
As fontes recomendam atualização imediata para as versões corrigidas (19.2.17, 20.3.15, 21.0.2). Para aplicações que não possam atualizar (por exemplo, Angular 18.x sem patch disponível), a implantação de políticas CSP (Content Security Policy) rigorosas que bloqueiem javascript: URLs e restringam origens de scripts é indicada como mitigação compensatória.
Verificações e práticas recomendadas
- Auditar bindings de templates para garantir que dados não confiáveis nunca sejam ligados a atributos SVG/MathML sensíveis.
- Evitar dynamic binding para properties como href/xlink:href em elementos SVG.
- Aplicar CSP e revisar logs de input onde conteúdos persistentes são aceitos.
Limites das informações
As fontes citam o advisory do GitHub e descrevem os vetores de ataque; contudo, não há na cobertura exemplos públicos completos de PoC exploráveis em produção — as recomendações preservam cautela e priorizam atualização e auditoria.
Recomendações finais
Equipes de desenvolvimento e segurança devem priorizar a atualização do compilador, auditar fluxos de dados que geram templates e incluir testes de injeção para atributos SVG como parte da triagem de segurança de aplicações web modernas.