PT-2026-49562 · Google · Angular
CVSS v4.0
8.2
Alta
| Vetor | AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Angular versões anteriores a 22.0.0-rc.2
Angular versões anteriores a 21.2.15
Angular versões anteriores a 20.3.22
Angular versões anteriores a 19.2.23
Description
Um problema de Negação de Serviço (DoS) existe no pacote
@angular/common. A função formatNumber(), também utilizada por DecimalPipe, PercentPipe e CurrencyPipe, não valida adequadamente os limites superiores do parâmetro digitsInfo. Quando uma string digitsInfo maliciosamente elaborada, contendo valores de dígitos fracionários excessivamente grandes, é processada, a função interna roundNumber() tenta preencher a matriz de dígitos para corresponder ao tamanho solicitado, causando um loop infinito. Isso leva ao esgotamento de recursos: em ambientes de Renderização do Lado do Servidor (SSR), pode travar o processo do servidor Node.js devido a um erro de falta de memória (heap out of memory) do JavaScript; na Renderização do Lado do Cliente (CSR), bloqueia a thread principal e congela a aba do navegador. A exploração requer que a aplicação utilize esses utilitários de formatação com um parâmetro digitsInfo controlado por entrada de usuário não confiável.Recommendations
Atualizar para a versão 22.0.0-rc.2.
Atualizar para a versão 21.2.15.
Atualizar para a versão 20.3.22.
Atualizar para a versão 19.2.23.
Como medida paliativa temporária, evite passar entradas de usuários não confiáveis diretamente para o parâmetro
digitsInfo da função formatNumber() ou dos pipes afetados.Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Angular