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.