PT-2026-49582 · Google · Angular
CVSS v4.0
8.8
Alta
| Vetor | AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N |
Nome do Software Vulnerável e Versões Afetadas
Angular versões anteriores a 22.0.1
Angular versões anteriores a 21.2.17
Angular versões anteriores a 20.3.25
Description
O
HttpTransferCache do Angular armazena em cache requisições HTTP durante a Renderização do Lado do Servidor (SSR) para que possam ser reutilizadas durante a hidratação do lado do cliente, evitando requisições redundantes. Essas respostas são armazenadas no TransferState usando chaves de cache geradas pelo hashing de propriedades da requisição, incluindo o método, tipo de resposta, URL mapeada, corpo serializado e parâmetros de consulta ordenados. O sistema utiliza um hash de rolagem polinomial do tipo DJB2 de 32 bits, que possui um espaço de hash reduzido, permitindo colisões de hash.Um invasor pode identificar uma string de parâmetro de consulta, como
q=aaCAZMMM, que produza o mesmo hash que um endpoint sensível, como '/api/user/profile'. Se a vítima visitar um link manipulado, o processo de SSR executa ambas as requisições, e a resposta controlada pelo invasor sobrescreve a resposta sensível no cache do TransferState. Isso resulta em envenenamento de estado (state poisoning), onde a aplicação opera com dados forjados, podendo burlar controles de segurança ou causar Cross-Site Scripting (XSS) baseado em DOM, além de vazamento de informações, onde dados sensíveis da vítima podem ser expostos.Recommendations
Atualize para a versão 22.0.1.
Atualize para a versão 21.2.17.
Atualize para a versão 20.3.25.
Como medida paliativa temporária, configure as requisições do
HttpClient para definir transferCache como false em endpoints sensíveis.
Alternativamente, desative o cache de transferência HTTP globalmente na configuração de bootstrap da aplicação utilizando withNoHttpTransferCache() dentro de provideClientHydration().Exploit
Correção
Insufficient Verification of Data Authenticity
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Angular