PoC — www.icann.org DOM XSS via widget Picture Mosaics (postMessage origin bypass)

Pesquisa de segurança / divulgação responsável. Página hospedada numa origem que satisfaz o check quebrado do widget. O XSS executa na origem www.icann.org (o mosaicEmbed.js roda na página do cliente).

1. Prova do bypass de origem

// mosaicEmbed.js (incluido em www.icann.org/icann-photo-mosaic)
function pmReceiveMessage(event){
  if (event.origin.indexOf("picturemosaics.com") >= 0 || ...) {           // <- substring match (quebrado)
    ... else if (event.data.indexOf("launchWaldo") >= 0)
          openWaldoFlow(event.data.split("-")[1]);                        // data do atacante
  }
}
function openWaldoFlow(data){ createModal({ source:"html",
  content:'<iframe ... src="https://livemosaics.com/upload/waldo/'+data+'"></iframe>' }); }
function createModal(c){ if(c.source=="html")
  document.getElementById("pmos-iframeWrapper").innerHTML = c.content; }   // <- innerHTML(atacante)

2. Alvo + disparo (vetor POPUP — iframe é bloqueado por X-Frame-Options)

aguardando…

3. Log (sinal de volta = XSS confirmado)

4. Mensagem exata enviada