1 pontos por GN⁺ 4 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • 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_ROLES do 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 pediu security.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
    • PGM
    • Tactical
    • Camera1
    • High Behind Left
    • High 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
    • PGM era 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_ROLES conseguia 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.org tinha operações de escrita, e o backend aceitava as requisições de contas NO_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.org também podia ser acessado com uma conta NO_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.xlsx e Debbie.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.txt nem 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_ROLES do pesquisador passou a receber resposta 403 do 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
  • Esse padrão afetava pelo menos os seguintes sistemas
    • fdp.fifa.org — Football Data Platform
    • cis.fifa.org — Commentator Information System
    • xxxxxxxxx-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

 
GN⁺ 4 시간 전
Comentários do Lobste.rs
  • Fico me perguntando se também dava para acessar o console de gerenciamento de propinas da FIFA

    • Talvez fosse esse o Debbie.xlsx
  • could've? Uma pena que não aconteceu de fato

    • Aí provavelmente ela teria se metido numa confusão enorme, e talvez não valesse a pena passar por isso só pela piada
    • Só para constar, os pronomes dela são she/her
  • Nã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

    • Provavelmente é uma indignação moral pelo fato de uma organização desse porte não ter uma equipe de segurança
    • O texto muito provavelmente foi gerado por LLM
      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
    • A autora provavelmente foi a primeira a encontrar a falha, saiu navegando por todas as páginas possíveis, deixou rastros por todo lado e também verificou a própria identidade
      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
    • Pensando na corrupção descarada da FIFA, até parece estranho se dar ao trabalho de reportar uma falha de segurança e esperar alguma coisa em troca
  • É impressionante que organizações tão grandes não consigam nem manter o básico em ordem

    • Parece exatamente o tipo de organização que não levaria segurança de TI a sério
      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

    • Do Japão, está acessível
    • Para mim estava fora do ar, mas usei o link “caches” logo abaixo da tag e encontrei o link no archive.org
    • Será que o seu servidor DNS está filtrando o domínio? O meu DNS filtrou esse domínio porque ele estava numa lista de bloqueio que eu uso
      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