Avec mon seul document d’identité, j’aurais pu diffuser un Rickroll sur l’ensemble de la Coupe du monde de la FIFA
(bobdahacker.com)- 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_ROLESdu 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 unsecurity.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
PGMTacticalCamera1High Behind LeftHigh 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_ROLESpouvait 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.orgcontenait des opérations d’écriture, et le backend acceptait les requêtes du compteNO_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 compteNO_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_ROLESdu 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
- inscription publique sur
- Ce schéma affectait au moins les systèmes suivants
fdp.fifa.org— Football Data Platformcis.fifa.org— Commentator Information Systemxxxxxxxxx-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
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
could've? Dommage qu’elle ne l’ait pas vraiment faitJe 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
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
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
C’est étonnant que des organisations aussi énormes ne maîtrisent même pas les bases
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
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