- Bastava se cadastrar na FIFA Agent Platform pública para entrar no tenant da Microsoft Entra da FIFA e até acessar a Football Data Platform operacional da Copa do Mundo FIFA 2026 e recursos de gestão de streaming de transmissão
- A causa foi uma verificação de autorização no lado do cliente: o estado
NO_ROLESdo JWT era checado só no frontend, e a API de backend não impunha os papéis - O painel exposto de Streaming Management continha URLs de ingest RTMP, manifests de pré-visualização, URLs de saída e chaves de stream para 5 feeds de câmera por partida, e os feeds de prévia ao vivo eram reproduzidos no VLC
- O escopo de acesso ia além de leitura e incluía algumas operações de escrita, como iniciar/parar/agendar streams de partidas, além de estatísticas ao vivo, horário de início, placar e escalações táticas; o Commentator Information System e um Azure Function App de desenvolvimento também estavam abertos
- A FIFA não respondeu diretamente, mas no dia seguinte ao relato ajustou o servidor para retornar
403, e o pesquisador pediusecurity.txt, política de divulgação de vulnerabilidades, bug bounty e verificação de autorização no lado do servidor
O cadastro público na Agent Platform levou a acesso interno
- A FIFA Agent Platform é um portal público para registro de licença de agentes de futebol, e é possível se cadastrar enviando documento de identidade e confirmando o e-mail
- Depois de concluir o cadastro, a conta foi adicionada ao tenant da Microsoft Entra da FIFA, que estava sendo usado em várias plataformas internas da entidade
- O pesquisador conseguiu concluir o cadastro na terceira tentativa, após falhar duas vezes por causa de problemas de iluminação na foto do documento
- Depois disso, ao acessar
fdp.fifa.org, a Football Data Platform autenticava normalmente, mas exibia uma tela dizendo que não havia papel atribuído- A tela mostrava uma mensagem de acesso negado dizendo que a conta não tinha o “FIFA Football Data Platform role”
- Na prática, a checagem ficava apenas na renderização no lado do cliente do app Angular, enquanto a API de backend retornava os dados das requisições
Exposição do painel de Streaming Management
- Ao contornar a proteção no lado do cliente, era possível acessar o painel operacional de Streaming Management da Copa do Mundo FIFA 2026
- O painel mostrava todas as partidas, ângulos de câmera, URLs de ingest RTMP e chaves de stream
- Cada partida tinha 5 feeds de câmera
PGMTacticalCamera1High Behind LeftHigh Behind Right
- Cada feed incluía as seguintes informações
- a URL de ingest RTMP para onde a câmera enviava o vídeo
- o preview manifest para assistir ao feed
- a output URL, um manifest HLS entregue aos parceiros de transmissão
- O UUID no fim da URL de ingest RTMP era a chave de stream, e a mesma chave era compartilhada entre os 5 ângulos de câmera da mesma partida
- A infraestrutura de streaming era hospedada pela parceira tecnológica de streaming da FIFA, MediaKind, e era um endpoint operacional que recebia feeds de câmera ao vivo dos estádios nos EUA, México e Canadá
Verificação de feed ao vivo e possibilidade de controle do stream
- Quando o pesquisador copiou o preview manifest para o VLC, um feed tático de câmera ao vivo de uma partida em andamento foi reproduzido em um PC em Tóquio
- O feed foi fechado logo em seguida, mas ficou confirmado que a URL de preview fornecia vídeo ao vivo durante partidas ativas
- O painel de Streaming Management não oferecia só consulta, mas também funções de controle como start, stop, schedule
- O pesquisador disse que não clicou nos botões de controle, mas essas funções apareciam no painel para todas as partidas e todos os ângulos de câmera
- A URL de ingest RTMP era o caminho de entrada entre a câmera do estádio, a MediaKind e os parceiros de transmissão
- o fluxo era câmera → ingest RTMP → MediaKind → parceiro de transmissão → TV
- se um atacante enviasse vídeo para o endpoint RTMP com a chave de stream, poderia substituir o feed da câmera
PGMera a saída principal de transmissão, então substituí-lo poderia fazer com que redes de TV que recebem o feed da FIFA exibissem o vídeo enviado pelo atacante
- O pesquisador destacou que não enviou vídeo para nenhum endpoint RTMP
Exposição de outras funções da Football Data Platform
- Uma conta
NO_ROLESconseguia acessar, além do Streaming Management, várias áreas da Football Data Platform- Competitions
- Matches
- Teams
- Tools
- Exchange Platform
- Analysis Dashboard
- Commentator Information System
- FIFA AI Pro
- Admin
- O dashboard de partidas ao vivo incluía player de vídeo embutido, linha do tempo de eventos em tempo real e dados dos oficiais da partida
- Como exemplo, a partida Côte d'Ivoire vs Ecuador aparecia como ao vivo, junto com uma linha do tempo de cartões amarelos e informações dos árbitros
- O Advanced Analytics incluía live possession control, attempt creation breakdowns, ball recovery timing, distance covered e integração com o FIFA AI Pro
Operações de escrita na gestão da partida e impacto em dados de transmissão
- A aba Management de
fdp.fifa.orgtinha operações de escrita, e o backend aceitava as requisições de contasNO_ROLES - A tela “Update Live Stats” tinha rich text editor, campos de tempo de jogo e placar, além do botão
Edit and Publish - Os itens de gestão acessíveis eram os seguintes
- Attendance
- Possession
- Post Match Statistics
- Team Registration Statistics
- Analysis Finished
- Score and Statistics
- Adjust Kick-off Moment
- Performance Data
- Send Tactical Lineup
- Event Ingress Details
- Um atacante poderia fazer o seguinte
- editar e publicar notas de comentário editorial enviadas ao sistema de transmissão
- ajustar o horário oficial de início da partida
- enviar dados de tactical lineup
- alterar o placar e as estatísticas da partida
- O texto diz que esses dados alimentavam o Commentator Information System e apareciam na TV ao vivo
Acesso ao Commentator Information System
cis.fifa.orgtambém podia ser acessado com uma contaNO_ROLES- Esse sistema era um dashboard em tempo real usado por comentaristas de transmissão durante partidas ao vivo
- O dashboard da Copa do Mundo FIFA 2026 mostrava placares ao vivo, jogos agendados e resultados
- Na tela do jogo Côte d'Ivoire vs Ecuador aos 75 minutos havia visão tática, posicionamento dos jogadores, formação, estatísticas ao vivo, linha do tempo de substituições e dados do elenco
- A conta também permitia ver editorial notes para comentaristas, pre-match stats kit e talking points
Exposição de Azure Function App de desenvolvimento
- O pesquisador também encontrou um Azure Function App no formato
xxxxxxxxx-spreadsheets-api.azurewebsites.net - Essa API retornava metadados de 23 arquivos internos da FIFA e URLs diretas de download no Azure Blob Storage
- A resposta incluía nomes de arquivos como
00_TransferCount_in_ENGLISH.xlsx,0_pending_transfers_example.xlsxeDebbie.xlsx - Entre os conteúdos citados estavam transfer reports, revenue comparisons, board-level representation data e referee and coach statistics
- Essa API também não fazia checagem de papel
Tentativas de relato e caminhos de contato
- O pesquisador disse que encontrou o problema durante a Copa do Mundo, mas que a FIFA não tinha programa de bug bounty,
security.txtnem contato público de segurança - Ele enviou o relato completo para vários endereços de e-mail da FIFA e para e-mails de funcionários, mas 5 mensagens retornaram e as demais não tiveram resposta
- No LinkedIn, encontrou Sebastian Runge, Head of Football Technology & Data da FIFA, e tentou contato por WhatsApp, mas não recebeu resposta
- Também ligou para a sede da FIFA em Zurique e para a linha de mídia da FIFA, mas estava tudo fechado por ser domingo à noite em Zurique
- Ele também ligou para o Kay Bailey Hutchison Convention Center, em Dallas, onde fica o International Broadcast Centre, mas caiu na caixa postal
- O número gratuito da MediaKind atendeu, e a pessoa responsável entendeu o problema imediatamente e pediu que ele enviasse por e-mail os detalhes, incluindo as chaves de stream
- Ele ligou para a HBS, mas recebeu a resposta de que não havia ninguém que pudesse ajudar, e a ligação foi encerrada; ao tentar novamente, não conseguiu falar com ninguém
- Também tentou ligar para a Infront Sports & Media, controladora da HBS, mas não conseguiu contato
- O pesquisador confirmou que a CISA era a líder federal de cibersegurança para a Copa do Mundo FIFA 2026, incluindo os sistemas de transmissão, e entrou em contato com o centro de operações 24/7
- a CISA atendeu a ligação e pediu os detalhes por e-mail
- Ele também falou via Signal com um contato do FBI de um trabalho anterior em cibersegurança, e a resposta foi que havia caminhos de contato e que o caso precisaria ser adequadamente estruturado
Exposição remanescente mesmo após a correção
- Entre o relato e o dia seguinte, a vulnerabilidade foi corrigida, e a conta
NO_ROLESdo pesquisador passou a receber resposta403do servidor em vez da tela de acesso negado no cliente - A FIFA não deu qualquer resposta direta, como confirmação do relato, agradecimento ou discussão sobre recompensa
- Ainda assim, o pesquisador disse que continuava incluído na lista de distribuição por e-mail da FDP e seguia recebendo documentos oficiais de partidas da Copa do Mundo FIFA 2026
- Start Lists
- Tactical Lineups
- Full Time Match Reports
- documentos enviados em 4 idiomas
A causa raiz foi a ausência de imposição de autorização no servidor
- A causa raiz foi uma arquitetura que verificava permissões apenas no cliente, sem impor autorização no lado do servidor
- Os aplicativos internos da FIFA usavam Microsoft Entra para autenticação e controle de acesso baseado em papéis, mas o frontend apenas verificava a role claim do JWT para renderizar a tela de acesso negado
- A API de backend confiava apenas no fato de o usuário autenticado ser membro do tenant e fornecia dados independentemente do papel
- O fluxo do ataque foi o seguinte
- cadastro público em
agents.fifa.org - adição da conta ao tenant Entra da FIFA
- autenticação nos apps internos da FIFA
- o cliente exibe acesso negado
- o servidor entrega os dados
- cadastro público em
- Esse padrão afetava pelo menos os seguintes sistemas
fdp.fifa.org— Football Data Platformcis.fifa.org— Commentator Information Systemxxxxxxxxx-spreadsheets-api.azurewebsites.net— ambiente de desenvolvimento
- O pesquisador pediu à FIFA um arquivo
security.txt, uma política de divulgação de vulnerabilidades (VDP), um programa de bug bounty e verificações de autorização no lado do servidor
1 comentários
Comentários do Lobste.rs
Fico me perguntando se também dava para acessar o console de gerenciamento de propinas da FIFA
could've? Uma pena que não aconteceu de fatoNão entendo o tom do texto
Isso é uma coisa puramente engraçada. Imaginar uma internet sem incidentes desse tipo parece entediante demais, e a autora deveria era agradecer
Além disso, ninguém mandou ela reportar nada, então não entendo por que reclamar que era difícil reportar. Se quiser, reporta; se não quiser, não reporta. Se ela ficou tão irritada assim, então explorasse a falha, em vez de reclamar que não existia um e-mail para reporte de vulnerabilidades
O estranho é que a autora não culpa a vulnerabilidade idiota em si, e sim apenas o fato de terem tornado difícil reportá-la
As evidências seriam o uso de Title Case, frases curtas cheias de pontos finais, perguntas retóricas curtas como “That UUID at the end? [...] That's the stream key” e o uso da palavra “breakthrough” num texto não técnico
Se você olhar os textos longos da autora nas redes sociais, ela não escreve assim
Então ela pode muito bem ter entrado em pânico. Viu coisas que ninguém deveria ver, e se tivesse ocorrido um hack de verdade, ela seria a primeira suspeita
É impressionante que organizações tão grandes não consigam nem manter o básico em ordem
Passa a imagem de uma diretoria formada por empresários com entendimento de computadores no nível do Derek Zoolander
Eu até entendo que uma vulnerabilidade possa existir, mas, se um pesquisador de segurança precisa falar com o FBI para reportá-la, então existe um problema estrutural bem maior
Teria sido ótimo se um hacker tivesse dado rickroll na Copa do Mundo da FIFA
Teria sido algo tão lendário quanto invadir a Sphere de Las Vegas
Fica a impressão de que a integração entre o portal e o painel de streaming foi meio que montada nas coxas com o Copilot e depois largada assim mesmo
Queria saber se o site caiu para todo mundo ou só para mim
Testando com um resolvedor recursivo público, o site em si parecia estar normal
Esse domínio estava em rpz/tif.txt das cópias de uma semana atrás das dns blocklists. Talvez também estivesse em outros formatos, mas eu só conferi o arquivo que uso
Não sei por qual critério o domínio entra nessa lista, mas na versão mais recente ele já não aparece mais