Caso 1: um cliente UDP dentro do firewall inicia a comunicação com um servidor UDP. O firewall cria uma entrada de mapeamento para permitir que a conversa continue. O invasor aproveita isso para falsificar alguns pacotes na direção inversa.
Em primeiro lugar, os pacotes precisam ser falsificados para parecer que estão vindo do servidor, caso contrário, eles não corresponderão ao endereço remoto. Eles também precisam ser direcionados para a porta IP e UDP do cliente, caso contrário, eles não passarão pelo firewall. Então, esses pacotes falsificados chegam ao cliente, que pensa que eles estão vindo do servidor: eles são recebidos pelo aplicativo cliente, mesmo que seu soquete de datagrama esteja marcado como conectado ao servidor. Se o aplicativo é escrito com segurança, eles acabam sendo lançados em seu nível de protocolo interno porque não passam nas verificações de integridade (criptografia e somas de verificação). Os datagramas falsificados do UDP causarão estragos em aplicativos inerentemente inseguros, é claro; isso não é culpa do firewall.
Caso 2: o servidor UDP dentro do firewall tem uma porta permanente para a frente. Claro que qualquer um pode enviar UDP para isso; basta validar os pacotes e suportar apenas sessões autenticadas e seguras.