Um digest Merkle–Damgård é o estado interno completo após o último bloco, então um atacante pode carregá-lo e continuar calculando o hash. Se um serviço autentica requisições com SHA-256(secret ‖ params), qualquer pessoa que veja uma tag válida pode acrescentar &admin=1 (depois dos bytes de padding) e calcular uma tag válida para a mensagem mais longa. As assinaturas de API do Flickr, baseadas em MD5, caíram exatamente assim em 2009.
Não são afetados: o HMAC (o hash externo esconde o estado interno), o SHA-3 e as funções SHAKE (a capacidade nunca vai para a saída), o BLAKE2 e o BLAKE3 e as variantes truncadas do SHA-2, como SHA-384 e SHA-512/256, cuja saída omite parte do estado. Os esquemas de assinatura calculam o hash da mensagem antes de assinar e não são afetados.
A regra é simples: nunca monte um MAC como hash(key ‖ message) a partir de SHA-1 ou SHA-256; use HMAC, KMAC ou um BLAKE2 com chave.