Falha na framework Angular permite injeção de javascript - CVE-2026-22610
- zecorreia93
- 13 de jan.
- 2 min de leitura

A falha dada pelo CVE-2026-22610 - severidade de 8.5 (Alta) está presente no compilador de templates do Angular, podendo ser explorada através da injeção de URI's com javascript (data: text/javascript) ou usando URL's externos maliciosos. Estes compiladores às vezes usam propriedades para atributos como por exemplo <script [attr.href]=”userInput”, e são tratados como strings padrão, não como algo malicioso.
Consequências:
Execução de javascript nas sessões dos utilizadores
Roubo de sessões
Exfiltração de dados
Ações não autorizadas em nome de utilizadores autenticados
Versões corrigidas
19.2.18, 20.3.16, 21.0.7, or 21.1.0-rc.0
Prevenção para os developers
Evitar bindings dinânmicos em elementos <script> svg
Implementar validação do lado do servidor com base em "listas brancas" de URL's
Monitorização
Sentinel (kql):
let timeframe = 1h; //timeframe de 1h
CommonSecurityLog
| where TimeGenerated > ago(timeframe)
| where DeviceCustomString1_s =~ "HTTP" //ajustar de acordo com a nomenclatura dos ataques http
| where (UriQuery_s has "data:text/javascript" or
UriPath_s has "<svg" or
UriQuery_s has "<script" or
UriQuery_s has "xlink:href" or
UriQuery_s has "href=")
| extend SuspiciousPattern = case(
UriQuery_s has "data:text/javascript", "Potential data URI XSS",
UriQuery_s has "<script", "Embedded script in query",
UriQuery_s has "xlink:href", "SVG xlink reference",
UriQuery_s has "href=", "Generic href payload",
"Unknown pattern")
| summarize Count = count(), AnyIPs=make_set(SourceIP) by SuspiciousPattern
| where Count > 0
Splunk:
(index=web OR index=waf OR index=proxy OR index=iis OR index=azure)
(
uri_query="*<svg*" OR
uri_query="*xlink:href*" OR
uri_query="*data:text/javascript*" OR
uri_query="*javascript:*" OR
uri_query="*<script*" OR
uri_path="*<svg*" OR
uri_path="*xlink:href*" OR
uri="*data:text/javascript*" OR
request="*<svg*" OR
request="*xlink:href*" OR
request="*data:text/javascript*" OR
request="*javascript:*"
)
| eval AttackType=case(
like(_raw,"%data:text/javascript%"), "Data URI JavaScript",
like(_raw,"%xlink:href%"), "SVG xlink:href",
like(_raw,"%javascript:%"), "JavaScript URI",
like(_raw,"%<svg%"), "SVG Tag Injection",
like(_raw,"%<script%"), "Script Injection",
true(), "Unknown XSS Vector"
)
| stats count
min(_time) as firstSeen
max(_time) as lastSeen
values(uri) as uris
values(uri_query) as queries
values(src_ip) as src_ip
values(user_agent) as user_agents
by AttackType
| where count > 0
Referências
Mais informações técnicas: https://www.herodevs.com/vulnerability-directory/cve-2026-22610?nes-for-angular
Referência técnica da Angular: https://angular.dev/update-guide
Detalhes cvedetails: https://www.cvedetails.com/cve/CVE-2026-22610/





















Comentários