सिर्फ मेरी ID से पूरे FIFA World Cup में Rickroll चलाया जा सकता था
(bobdahacker.com)- सिर्फ़ सार्वजनिक FIFA Agent Platform पर साइन अप करके FIFA के Microsoft Entra tenant में प्रवेश मिल रहा था, और 2026 FIFA World Cup संचालन के लिए इस्तेमाल होने वाले Football Data Platform तथा broadcast streaming management फ़ंक्शंस तक पहुँच संभव थी
- वजह थी client-side authorization check: JWT की
NO_ROLESस्थिति को सिर्फ़ frontend देख रहा था, जबकि backend API roles को enforce नहीं कर रहा था - उजागर हुए Streaming Management panel में हर मैच के लिए 5 camera feeds के RTMP ingest URL, preview manifest, output URL और stream key मौजूद थे, और VLC में live preview feed चल रही थी
- पहुँच सिर्फ़ देखने तक सीमित नहीं थी; इसमें match stream start·stop·schedule, live stats, kick-off time, score, tactical lineup जैसी कुछ write actions भी शामिल थीं, और Commentator Information System तथा development Azure Function App भी खुले थे
- FIFA ने सीधे जवाब नहीं दिया, लेकिन रिपोर्ट मिलने के अगले दिन सर्वर को
403लौटाने के लिए ठीक कर दिया गया; शोधकर्ता नेsecurity.txt, vulnerability disclosure policy, bug bounty, और server-side authorization checks की मांग की
सार्वजनिक Agent Platform साइनअप से आंतरिक पहुँच
- FIFA Agent Platform फुटबॉल एजेंट लाइसेंस रजिस्ट्रेशन के लिए एक सार्वजनिक portal है, जहाँ ID जमा करके और email verification से साइन अप किया जा सकता है
- साइनअप पूरा होने के बाद अकाउंट FIFA के Microsoft Entra tenant में जोड़ दिया गया, और यही tenant FIFA के आंतरिक platforms में व्यापक रूप से इस्तेमाल हो रहा था
- शोधकर्ता दो बार ID फोटो की lighting समस्या के कारण विफल रहे, फिर तीसरे प्रयास में साइनअप सफल हुआ
- इसके बाद
fdp.fifa.orgपर जाने पर Football Data Platform ने authentication तो स्वीकार की, लेकिन role न होने का संदेश दिखाया- स्क्रीन पर यह access denied message दिखा कि अकाउंट के पास “FIFA Football Data Platform role” नहीं है
- वास्तविक जाँच सिर्फ़ Angular app की client-side rendering तक सीमित थी, जबकि backend API request data लौटाती रही
Streaming Management panel उजागर
- client-side guard को bypass करने पर FIFA World Cup 2026 के production Streaming Management panel तक पहुँचना संभव था
- panel में सभी मैच, camera angles, RTMP ingest URL और stream keys दिखाई दे रहे थे
- हर मैच में 5 camera feeds थे
PGMTacticalCamera1High Behind LeftHigh Behind Right
- हर feed में यह जानकारी शामिल थी
- RTMP ingest URL जहाँ camera video भेजता है
- feed देखने के लिए preview manifest
- broadcast partners को भेजा जाने वाला HLS manifest, यानी output URL
- RTMP ingest URL के अंत में मौजूद UUID ही stream key था, और एक ही मैच के 5 camera angles में वही key साझा की जा रही थी
- streaming infrastructure FIFA के streaming technology partner MediaKind पर hosted था, और यह अमेरिका, मेक्सिको तथा कनाडा के stadiums से live camera feeds लेने वाला production endpoint था
live feed की पुष्टि और stream control की संभावना
- शोधकर्ता ने preview manifest को VLC में कॉपी किया, तो टोक्यो के एक PC पर सक्रिय मैच का live tactical camera feed चल पड़ा
- पुष्टि के तुरंत बाद feed बंद कर दी गई, लेकिन यह स्पष्ट हो गया कि preview URL सक्रिय मैचों के दौरान live video दे रहा था
- Streaming Management panel सिर्फ़ view नहीं, बल्कि start, stop, schedule जैसे control functions भी देता था
- शोधकर्ता ने कोई control button नहीं दबाया, लेकिन सभी मैचों और सभी camera angles के लिए control options panel में दिखाई दे रहे थे
- RTMP ingest URL stadium camera से MediaKind और broadcast partners तक जाने वाला input path था
- flow था: camera → RTMP ingest → MediaKind → broadcast partner → TV
- अगर कोई attacker stream key के साथ RTMP endpoint पर video push कर देता, तो camera feed बदली जा सकती थी
PGMmain broadcast output था; इसे बदलने पर FIFA feed लेने वाले TV networks पर attacker द्वारा भेजा गया video दिख सकता था
- शोधकर्ता ने स्पष्ट किया कि उन्होंने किसी भी RTMP endpoint पर video push नहीं किया
Football Data Platform की अन्य सुविधाएँ भी उजागर
NO_ROLESअकाउंट Streaming Management के अलावा Football Data Platform के कई हिस्सों तक पहुँच सकता था- Competitions
- Matches
- Teams
- Tools
- Exchange Platform
- Analysis Dashboard
- Commentator Information System
- FIFA AI Pro
- Admin
- live match dashboard में built-in video player, real-time event timeline, और match officials data शामिल था
- उदाहरण के तौर पर Côte d'Ivoire vs Ecuador मैच live दिख रहा था, साथ में yellow card timeline और match officials की जानकारी भी दिखाई दे रही थी
- Advanced Analytics में live possession control, attempt creation breakdowns, ball recovery timing, distance covered, और FIFA AI Pro integration शामिल था
match management write actions और broadcast data पर असर
fdp.fifa.orgके Management tab में write actions मौजूद थीं, और backendNO_ROLESअकाउंट के requests स्वीकार कर रहा था- “Update Live Stats” स्क्रीन में rich text editor, match time, match score fields, और
Edit and Publishbutton मौजूद था - उपलब्ध management items ये थे
- 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
- कोई attacker ये काम कर सकता था
- broadcast system को भेजी जाने वाली editorial commentary notes को modify और publish करना
- आधिकारिक kick-off time को adjust करना
- tactical lineup data भेजना
- score और match statistics बदलना
- बताया गया कि यह data Commentator Information System में जाता है और live TV पर दिखाया जाता है
Commentator Information System तक पहुँच
cis.fifa.orgभीNO_ROLESअकाउंट से खुल रहा था- यह system live मैचों के दौरान broadcast commentators के लिए इस्तेमाल होने वाला real-time dashboard था
- FIFA World Cup 2026 dashboard में live score, scheduled fixtures, और results दिख रहे थे
- Côte d'Ivoire vs Ecuador मैच के 75वें मिनट की स्क्रीन में tactical view, player positions, formations, live stats, substitution timeline, और squad data शामिल था
- अकाउंट से commentators के लिए editorial notes, pre-match stats kit, और talking points भी देखे जा सकते थे
development environment Azure Function App उजागर
- शोधकर्ता को
xxxxxxxxx-spreadsheets-api.azurewebsites.netफ़ॉर्म का एक Azure Function App भी मिला - यह API 23 आंतरिक FIFA files का metadata और Azure Blob Storage के direct download URLs लौटा रही थी
- response में
00_TransferCount_in_ENGLISH.xlsx,0_pending_transfers_example.xlsx,Debbie.xlsxजैसे filenames शामिल थे - file contents में transfer reports, revenue comparisons, board-level representation data, और referee तथा coach statistics का उल्लेख था
- इस API में भी role checks नहीं थे
रिपोर्ट करने की कोशिश और संपर्क के रास्ते
- शोधकर्ता ने बताया कि World Cup के दौरान समस्या मिलने के बावजूद FIFA के पास bug bounty program,
security.txt, या सार्वजनिक security contact उपलब्ध नहीं था - उन्होंने कई FIFA email addresses और कर्मचारियों के emails पर पूरी रिपोर्ट भेजी, लेकिन 5 mails bounce हो गए और बाकी का कोई जवाब नहीं आया
- LinkedIn पर FIFA के Head of Football Technology & Data Sebastian Runge को ढूँढकर WhatsApp पर संपर्क किया गया, लेकिन वहाँ से भी जवाब नहीं मिला
- FIFA के ज़्यूरिख मुख्यालय और FIFA media line पर फोन किया गया, लेकिन ज़्यूरिख में रविवार शाम होने के कारण दफ़्तर बंद था
- Dallas के Kay Bailey Hutchison Convention Center, जहाँ International Broadcast Centre था, वहाँ भी फोन किया गया लेकिन voicemail मिला
- MediaKind का toll-free नंबर जुड़ गया, और वहाँ के प्रतिनिधि ने समस्या तुरंत समझकर stream key सहित details email से भेजने को कहा
- HBS को फोन किया गया, लेकिन यह कहकर कॉल समाप्त कर दी गई कि मदद करने वाला कोई उपलब्ध नहीं है; दोबारा कॉल भी नहीं जुड़ी
- HBS की parent company Infront Sports & Media को भी फोन किया गया, लेकिन संपर्क नहीं हो सका
- शोधकर्ता ने यह भी पुष्टि की कि CISA, FIFA World Cup 2026 के broadcast systems सहित cyber security के लिए federal lead agency है, और उसके 24/7 operations center से संपर्क किया
- CISA ने कॉल उठाई और details email से माँगी
- अपने पुराने cyber security काम से परिचित FBI contact को भी Signal पर संदेश भेजा गया, और FBI की ओर से जवाब मिला कि उनके पास संपर्क नेटवर्क है और मामले को सही तरह से package करना होगा
fix के बाद भी बचा हुआ exposure
- रिपोर्ट और अगले दिन के बीच vulnerability ठीक कर दी गई, और शोधकर्ता के
NO_ROLESअकाउंट को client-side access denied screen की जगह सर्वर से 403 response मिलने लगा - FIFA ने रिपोर्ट की पुष्टि, धन्यवाद, या reward पर किसी तरह की सीधी प्रतिक्रिया नहीं दी
- फिर भी शोधकर्ता के अनुसार वे अब भी FDP email distribution list में बने रहे और FIFA World Cup 2026 के आधिकारिक match documents प्राप्त कर रहे थे
- Start Lists
- Tactical Lineups
- Full Time Match Reports
- 4 भाषाओं में भेजे जाने वाले documents
मूल कारण: server-side authorization enforcement का अभाव
- मूल समस्या यह थी कि server-side authorization enforcement नहीं था और permission checks सिर्फ़ client में हो रहे थे
- FIFA के आंतरिक applications Microsoft Entra के साथ authentication और role-based access control इस्तेमाल कर रहे थे, लेकिन frontend केवल JWT role claim देखकर access denied screen render करता था
- backend API सिर्फ़ authenticated tenant member होने पर भरोसा कर रही थी और role की परवाह किए बिना data दे रही थी
- attack flow इस तरह था
agents.fifa.orgपर सार्वजनिक registration- FIFA Entra tenant में अकाउंट जोड़ा जाना
- FIFA के internal apps में authentication
- client access denied दिखाता है
- server data दे देता है
- यह pattern कम-से-कम इन systems को प्रभावित कर रहा था
fdp.fifa.org— Football Data Platformcis.fifa.org— Commentator Information Systemxxxxxxxxx-spreadsheets-api.azurewebsites.net— development environment
- शोधकर्ता ने FIFA से
security.txtfile, vulnerability disclosure policy (VDP), bug bounty program, और server-side authorization checks लागू करने की मांग की
1 टिप्पणियां
Lobste.rs प्रतिक्रियाएँ
सोच रहा हूँ क्या उसे FIFA के bribe management console तक भी access मिल गया था
could've? अफ़सोस है कि उसने सच में नहीं कियामुझे लेख का tone समझ नहीं आया
यह तो पूरी तरह मज़ेदार घटना है। अगर इंटरनेट में ऐसे breach बिल्कुल न हों, तो वह बहुत उबाऊ हो जाएगा, और लेखक को तो उल्टा शुक्रगुज़ार होना चाहिए
ऊपर से किसी ने उसे report करने के लिए कहा भी नहीं था, तो फिर यह शिकायत क्यों कि report करना मुश्किल था? करना है तो करो, नहीं तो मत करो। अगर इतनी ही नाराज़गी थी, तो exploit कर देता; vulnerability report करने के लिए email न होने पर शिकायत करने जैसी बात नहीं है
अजीब यह है कि लेखक उस बेवकूफ़ाना vulnerability को दोष नहीं दे रहा, बल्कि सिर्फ़ यह कि उसे report करना मुश्किल था
इसके संकेत हैं headline-style capitalization, full stop से भरे छोटे वाक्य, “That UUID at the end? [...] That's the stream key” जैसे छोटे rhetorical question, और non-technical लेख में “breakthrough” शब्द का इस्तेमाल
लेखक की social media पर लंबी पोस्ट देखें तो वह आम तौर पर ऐसे नहीं लिखता
इसलिए उसके panic में जाने की संभावना काफ़ी है। उसने ऐसी चीज़ें देख लीं जो किसी को नहीं देखनी चाहिए थीं, और अगर कोई असली hack हुआ होता तो वही पहला suspect बनता
हैरानी होती है कि इतनी बड़ी संस्थाएँ basic hygiene तक ठीक से maintain नहीं कर पातीं
छवि ऐसी बनती है जैसे management में ऐसे business लोग भरे हों जिनकी computer literacy Derek Zoolander के स्तर की हो
vulnerability हो सकती है, यह समझ में आता है, लेकिन अगर कोई security researcher उसे report करने के लिए FBI से संपर्क करने पर मजबूर हो, तो यह उससे भी बड़ा structural problem है
अच्छा होता अगर hacker ने FIFA World Cup को rickroll कर दिया होता
यह Las Vegas Sphere को hack करने जितनी legendary घटना बन जाती
ऐसा लगता है जैसे portal और streaming panel के बीच integration बस Copilot से जल्दी-जल्दी बनवाकर छोड़ दिया गया हो
सोच रहा हूँ कि site सबके लिए down है या सिर्फ़ मेरे लिए
public recursive resolver से test करने पर site में खुद कोई दिक्कत नहीं लगी
यह domain एक हफ़्ता पुरानी dns blocklist की कॉपी में rpz/tif.txt में मौजूद था। शायद दूसरे format में भी रहा होगा, लेकिन मैंने सिर्फ़ वही file देखी जो मैं इस्तेमाल करता हूँ
किस संकेत के आधार पर domain को उस सूची में डाला गया था, यह नहीं पता, लेकिन latest release में यह अब नहीं है