Lendo o patch do XXE
Aqui estão as duas versões do parser: before.js (antes do conserto) e after.js (depois). O before.js já tinha desligado a expansão de entidades gerais, mas continuava vulnerável. O after.js fecha a falha de verdade. O other-libraries.txt mostra o mesmo conserto em quatro bibliotecas comuns.
Compare as duas versões. O before.js ainda aceita o DTD, então entidades de parâmetro continuam rodando (vazamento fora de banda) e o billion laughs ainda cresce. Qual é a única mudança do after.js que fecha TODAS as variantes de uma vez? A flag é o nome dessa mudança, em minúsculas, com as palavras unidas por _.
Formato: tocaia{...}. Exemplo com a mesma forma, que não é a resposta: tocaia{limit_entities}.
Arquivos do desafio
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.