1 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • Une simple inscription publique à la FIFA Agent Platform permettait d’entrer dans le tenant Microsoft Entra de la FIFA et d’accéder jusqu’à la Football Data Platform utilisée pour l’exploitation de la Coupe du monde de la FIFA 2026 ainsi qu’aux fonctions de gestion du streaming
  • La cause était un contrôle des autorisations côté client : l’état NO_ROLES du JWT n’était vérifié que par le frontend, et l’API backend n’imposait aucun rôle
  • Le panneau exposé de Streaming Management contenait, pour chaque match, les URL d’ingest RTMP, le manifest de prévisualisation, l’URL de sortie et la clé de stream de 5 flux caméra ; un flux de prévisualisation live se lançait dans VLC
  • La portée de l’accès allait au-delà de la simple consultation et incluait certaines opérations d’écriture comme le démarrage, l’arrêt et la planification des streams de match, ainsi que des stats live, l’heure de coup d’envoi, le score ou les compositions tactiques ; le Commentator Information System et une Azure Function App de développement étaient aussi ouverts
  • La FIFA n’a pas répondu directement, mais dès le lendemain du signalement le serveur a été corrigé pour renvoyer 403 ; le chercheur demande un security.txt, une politique de divulgation des vulnérabilités, un bug bounty et des contrôles d’autorisation côté serveur

L’inscription publique à l’Agent Platform a ouvert un accès interne

  • La FIFA Agent Platform est un portail public d’enregistrement des licences d’agent de football, accessible avec l’envoi d’une pièce d’identité et une vérification par e-mail
  • Une fois l’inscription terminée, le compte a été ajouté au tenant Microsoft Entra de la FIFA, tenant apparemment utilisé à travers les plateformes internes de la FIFA
  • Le chercheur a échoué deux fois à cause d’un problème d’éclairage sur la photo de sa pièce d’identité, puis a réussi à la troisième tentative
  • En accédant ensuite à fdp.fifa.org, la Football Data Platform validait bien l’authentification, puis affichait un écran indiquant l’absence de rôle
    • L’écran montrait un message de refus d’accès expliquant que le compte n’avait pas de “FIFA Football Data Platform role”
    • En réalité, le contrôle se limitait au rendu côté client de l’application Angular, tandis que l’API backend renvoyait les données demandées

Exposition du panneau Streaming Management

  • En contournant la garde côté client, il devenait possible d’accéder au panneau opérationnel de Streaming Management de la Coupe du monde de la FIFA 2026
  • Le panneau affichait tous les matchs, les angles de caméra, les URL d’ingest RTMP et les clés de stream
  • Chaque match disposait de 5 flux caméra
    • PGM
    • Tactical
    • Camera1
    • High Behind Left
    • High Behind Right
  • Chaque flux comprenait les informations suivantes
    • l’URL d’ingest RTMP vers laquelle la caméra envoie la vidéo
    • le manifest de prévisualisation permettant de regarder le flux
    • l’URL de sortie, un manifest HLS transmis aux partenaires de diffusion
  • Le UUID à la fin de l’URL d’ingest RTMP servait de clé de stream, et une même clé était partagée entre les 5 angles caméra d’un même match
  • L’infrastructure de streaming était hébergée chez le partenaire technologique streaming de la FIFA, MediaKind, et servait d’endpoint opérationnel recevant les flux caméra live des stades aux États-Unis, au Mexique et au Canada

Vérification d’un flux live et possibilité de contrôler le stream

  • Quand le chercheur a copié un manifest de prévisualisation dans VLC, un flux live de la caméra tactique d’un match en cours s’est lancé sur son PC à Tokyo
  • Il a fermé le flux juste après, mais cela a confirmé que l’URL de prévisualisation donnait bien accès à de la vidéo en direct pendant un match actif
  • Le panneau Streaming Management ne servait pas seulement à consulter, il proposait aussi des fonctions de contrôle comme start, stop, schedule
  • Le chercheur précise ne pas avoir cliqué sur les boutons de contrôle, mais ces fonctions étaient visibles pour tous les matchs et tous les angles caméra
  • Les URL d’ingest RTMP constituaient le chemin d’entrée entre les caméras du stade, MediaKind et les partenaires de diffusion
    • le flux suivait le chemin caméra → ingest RTMP → MediaKind → partenaires de diffusion → TV
    • un attaquant aurait pu pousser de la vidéo vers l’endpoint RTMP avec la clé de stream afin de remplacer le flux caméra
    • PGM étant la sortie principale de diffusion, son remplacement aurait pu afficher une vidéo injectée par l’attaquant sur les réseaux TV recevant le flux FIFA
  • Le chercheur précise n’avoir poussé aucune vidéo vers le moindre endpoint RTMP

Exposition d’autres fonctions de la Football Data Platform

  • Le compte NO_ROLES pouvait accéder à plusieurs zones de la Football Data Platform au-delà de Streaming Management
    • Competitions
    • Matches
    • Teams
    • Tools
    • Exchange Platform
    • Analysis Dashboard
    • Commentator Information System
    • FIFA AI Pro
    • Admin
  • Le dashboard des matchs live comprenait un lecteur vidéo intégré, une timeline d’événements en temps réel et des données sur les officiels du match
  • À titre d’exemple, le match Côte d'Ivoire vs Ecuador était affiché comme étant en direct, avec la timeline des cartons jaunes et les informations sur les match officials
  • Les Advanced Analytics incluaient le live possession control, les attempt creation breakdowns, le ball recovery timing, la distance parcourue et l’intégration FIFA AI Pro

Opérations d’écriture sur la gestion des matchs et impact sur les données de diffusion

  • L’onglet Management de fdp.fifa.org contenait des opérations d’écriture, et le backend acceptait les requêtes du compte NO_ROLES
  • L’écran “Update Live Stats” contenait un rich text editor, des champs pour le temps de match et le score, ainsi qu’un bouton Edit and Publish
  • Les éléments de gestion accessibles étaient les suivants
    • 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
  • Un attaquant pouvait ainsi
    • modifier et publier des notes de commentary éditorial transmises au système de diffusion
    • ajuster l’heure officielle du coup d’envoi
    • envoyer des données de tactical lineup
    • modifier le score et les statistiques du match
  • Ces données alimentaient le Commentator Information System et étaient présentées comme affichées en direct à la télévision

Accès au Commentator Information System

  • cis.fifa.org était également accessible avec un compte NO_ROLES
  • Ce système était un dashboard temps réel utilisé par les commentateurs pendant les matchs en direct
  • Le dashboard de la Coupe du monde de la FIFA 2026 affichait les scores en direct, les matchs à venir et les résultats
  • L’écran du match Côte d'Ivoire vs Ecuador à la 75e minute comprenait une vue tactique, la position des joueurs, la formation, les statistiques live, la timeline des remplacements et les données d’effectif
  • Le compte donnait aussi accès aux editorial notes destinées aux commentateurs, au pre-match stats kit et aux talking points

Exposition d’une Azure Function App de développement

  • Le chercheur a aussi découvert une Azure Function App de la forme xxxxxxxxx-spreadsheets-api.azurewebsites.net
  • Cette API renvoyait les métadonnées de 23 fichiers internes de la FIFA ainsi que des URL de téléchargement direct Azure Blob Storage
  • La réponse contenait des noms de fichiers comme 00_TransferCount_in_ENGLISH.xlsx, 0_pending_transfers_example.xlsx, Debbie.xlsx
  • Les contenus mentionnés incluaient des transfer reports, des revenue comparisons, des données de représentation au niveau du board, ainsi que des statistiques sur les arbitres et les entraîneurs
  • Cette API, elle aussi, ne vérifiait aucun rôle

Tentatives de signalement et canaux de contact

  • Le chercheur explique avoir découvert le problème pendant la Coupe du monde, mais que la FIFA ne disposait ni de programme de bug bounty, ni de security.txt, ni de contact sécurité public
  • Il a envoyé un signalement complet à plusieurs adresses e-mail de la FIFA ainsi qu’à des adresses d’employés ; 5 messages ont rebondi et les autres sont restés sans réponse
  • Il a trouvé sur LinkedIn Sebastian Runge, Head of Football Technology & Data de la FIFA, puis l’a contacté sur WhatsApp, sans réponse
  • Il a appelé le siège de la FIFA à Zurich et la ligne média de la FIFA, mais c’était un dimanche soir à Zurich et tout était fermé
  • Il a aussi appelé le Kay Bailey Hutchison Convention Center de Dallas, où se trouvait l’International Broadcast Centre, mais est tombé sur une boîte vocale
  • Le numéro gratuit de MediaKind a, lui, répondu ; l’interlocuteur a immédiatement compris le problème et a demandé l’envoi par e-mail des détails, y compris les clés de stream
  • Il a appelé HBS, mais la conversation s’est terminée après qu’on lui a dit que personne ne pouvait l’aider, et les rappels n’ont pas abouti
  • Il a également appelé la maison mère de HBS, Infront Sports & Media, sans parvenir à joindre quelqu’un
  • Le chercheur a confirmé que la CISA était le lead fédéral cyber pour la Coupe du monde de la FIFA 2026, y compris pour les systèmes de diffusion, puis a contacté son centre opérationnel 24/7
    • la CISA a répondu à l’appel et a demandé les détails par e-mail
  • Il a aussi contacté via Signal un contact du FBI issu de précédents échanges cybersécurité ; le FBI a répondu disposer d’un réseau de contacts et qu’il fallait simplement bien préparer le dossier

Une exposition persistante après la correction

  • Entre le signalement et le lendemain, la vulnérabilité a été corrigée, et le compte NO_ROLES du chercheur recevait désormais une réponse 403 du serveur au lieu de l’écran de refus d’accès côté client
  • La FIFA n’a toutefois fourni aucune réponse directe, ni accusé de réception, ni remerciement, ni discussion sur une éventuelle récompense
  • Le chercheur indique toutefois être resté dans la liste de diffusion e-mail du FDP et continuer à recevoir des documents officiels de match de la Coupe du monde de la FIFA 2026
    • Start Lists
    • Tactical Lineups
    • Full Time Match Reports
    • documents envoyés en 4 langues

La cause profonde : l’absence d’application des autorisations côté serveur

  • La cause fondamentale était une architecture qui vérifiait les autorisations uniquement côté client, sans application côté serveur
  • Les applications internes de la FIFA utilisaient Microsoft Entra pour l’authentification et le contrôle d’accès basé sur les rôles, mais le frontend se contentait de vérifier le claim de rôle du JWT pour afficher un écran de refus d’accès
  • Les API backend faisaient confiance au seul fait que l’utilisateur authentifié appartenait au tenant, puis servaient les données indépendamment du rôle
  • La chaîne d’attaque était la suivante
    • inscription publique sur agents.fifa.org
    • ajout du compte au tenant Entra de la FIFA
    • authentification sur les applications internes de la FIFA
    • le client affiche un refus d’accès
    • le serveur fournit quand même les données
  • Ce schéma affectait au moins les systèmes suivants
    • fdp.fifa.org — Football Data Platform
    • cis.fifa.org — Commentator Information System
    • xxxxxxxxx-spreadsheets-api.azurewebsites.net — environnement de développement
  • Le chercheur demande à la FIFA un fichier security.txt, une politique de divulgation des vulnérabilités (VDP), un programme de bug bounty et des contrôles d’autorisation côté serveur

1 commentaires

 
GN⁺ 4 시간 전
Commentaires sur Lobste.rs
  • Je me demande si elle aurait aussi pu accéder à la console de gestion des pots-de-vin de la FIFA

    • C’était peut-être ça, Debbie.xlsx
  • could've ? Dommage qu’elle ne l’ait pas vraiment fait

    • Cela dit, elle se serait probablement retrouvée dans d’énormes ennuis, et ça n’aurait sans doute pas valu le coup juste pour la blague
    • Au passage, ses pronoms sont she/her
  • Je ne comprends pas le ton de l’article
    C’est une histoire simplement drôle. Imaginer un Internet sans ce genre d’incidents serait bien trop ennuyeux, et l’autrice devrait presque être reconnaissante
    En plus, personne ne lui a demandé de signaler quoi que ce soit, donc je ne vois pas pourquoi elle se plaint que ce soit difficile à signaler. Si elle veut le faire, qu’elle le fasse, sinon qu’elle s’abstienne. Si ça la mettait tellement en colère, elle n’avait qu’à l’exploiter, au lieu de se plaindre de l’absence d’une adresse e-mail pour signaler les failles de sécurité
    Ce qui est étrange, c’est qu’elle ne semble pas blâmer l’existence même d’une faille aussi stupide, mais seulement le fait qu’il soit difficile de la signaler

    • C’est probablement une forme d’indignation morale face au fait qu’une organisation de cette envergure n’ait pas d’équipe sécurité
    • Le texte semble très probablement généré par un LLM
      On le voit à l’usage des majuscules façon titre, aux phrases courtes truffées de points, aux petites questions rhétoriques comme « That UUID at the end? [...] That's the stream key », et à l’emploi du mot « breakthrough » dans un texte non technique
      Si on regarde les longs posts de l’autrice sur les réseaux sociaux, elle n’écrit pas comme ça
    • L’autrice était probablement la première à découvrir la faille, a visité toutes les pages possibles en laissant des traces un peu partout, et a sans doute vérifié son identité
      Elle a donc probablement paniqué. Elle a vu quelque chose que personne n’était censé voir, et si un vrai piratage s’était produit, elle serait devenue la première suspecte
    • Vu la corruption éhontée de la FIFA, l’idée même de signaler une faille de sécurité et d’en attendre quoi que ce soit paraît presque plus étrange encore
  • C’est étonnant que des organisations aussi énormes ne maîtrisent même pas les bases

    • Ça ressemble exactement au genre d’organisation qui ne prendrait pas l’IT security au sérieux
      J’imagine une direction composée d’hommes d’affaires qui comprennent l’informatique à peu près au niveau de Derek Zoolander
  • Je peux comprendre qu’une faille existe, mais si un chercheur en sécurité doit contacter le FBI pour la signaler, c’est qu’il y a un problème structurel bien plus grave

  • J’aurais aimé qu’un hacker rickrolle la Coupe du monde de la FIFA
    Ce serait devenu aussi légendaire que le piratage du Sphere de Las Vegas

  • On dirait que l’intégration entre le portail et le panneau de streaming a été bricolée à la va-vite avec Copilot, puis laissée en l’état

  • Je me demande si le site est tombé pour tout le monde, ou si c’est juste moi

    • Accessible depuis le Japon
    • Chez moi, il était hors ligne, mais j’ai utilisé le lien « caches » juste sous les tags pour trouver ce lien archive.org
    • Et si c’était mon serveur DNS qui filtrait le domaine ? Mon DNS l’a filtré parce que ce domaine figurait sur la liste de blocage que j’utilise
      En testant avec un résolveur récursif public, le site lui-même semblait fonctionner normalement
      Le domaine figurait dans rpz/tif.txt des dns blocklists dans une copie datant d’il y a une semaine. Il était peut-être aussi présent dans d’autres formats, mais je n’ai vérifié que le fichier que j’utilise
      Je ne sais pas selon quels critères le domaine a été ajouté à cette liste, mais il n’apparaît plus dans la dernière version