แค่มีบัตรประชาชนของผม ก็สามารถเปิด Rickroll ใส่ทั้ง FIFA World Cup ได้
(bobdahacker.com)- เพียงสมัครใช้งาน FIFA Agent Platform ที่เปิดสาธารณะ ก็สามารถเข้าไปอยู่ในเทนเนนต์ Microsoft Entra ของ FIFA และเข้าถึงทั้ง Football Data Platform สำหรับปฏิบัติการของ FIFA World Cup 2026 รวมถึงฟังก์ชันจัดการสตรีมถ่ายทอดสดได้
- สาเหตุคือมีการตรวจสอบสิทธิ์แบบ client-side โดยเช็กสถานะ
NO_ROLESใน JWT แค่ฝั่งฟรอนต์เอนด์ ขณะที่แบ็กเอนด์ API ไม่ได้บังคับใช้บทบาท - ในแผง Streaming Management ที่ถูกเปิดเผย มีทั้ง RTMP ingest URL, preview manifest, output URL และ stream key ของฟีดกล้อง 5 ตัวต่อแมตช์ และสามารถเปิดฟีดพรีวิวสดด้วย VLC ได้
- ขอบเขตการเข้าถึงไม่ได้มีแค่อ่านข้อมูล แต่รวมถึง งานเขียนบางส่วน เช่น เริ่ม/หยุด/ตั้งเวลาสตรีม อัปเดตสถิติสด เวลาเขี่ยบอล สกอร์ และรายชื่อตัวผู้เล่นเชิงแท็กติก อีกทั้งยังเปิดให้เข้าถึง Commentator Information System และ Azure Function App สำหรับงานพัฒนา
- FIFA ไม่ได้ตอบกลับโดยตรง แต่ในวันถัดจากการแจ้งเตือน เซิร์ฟเวอร์ถูกแก้ให้คืนค่า
403แล้ว โดยนักวิจัยเรียกร้องให้มีsecurity.txt, นโยบายเปิดเผยช่องโหว่, bug bounty และการตรวจสอบสิทธิ์ฝั่งเซิร์ฟเวอร์
การสมัคร Agent Platform แบบสาธารณะนำไปสู่การเข้าถึงภายใน
- FIFA Agent Platform เป็นพอร์ทัลสาธารณะสำหรับลงทะเบียนใบอนุญาตเอเจนต์ฟุตบอล ซึ่งสมัครได้ด้วยการส่งเอกสารยืนยันตัวตนและยืนยันอีเมล
- หลังสมัครเสร็จ บัญชีถูกเพิ่มเข้าไปในเทนเนนต์ Microsoft Entra ของ FIFA และเทนเนนต์นี้ถูกใช้งานกับแพลตฟอร์มภายในของ FIFA โดยรวม
- นักวิจัยพยายามสมัครสองครั้งแต่ล้มเหลวเพราะปัญหาแสงในรูปบัตร ก่อนจะสำเร็จในครั้งที่สาม
- หลังจากนั้นเมื่อเข้า
fdp.fifa.orgFootball Data Platform ยอมรับการยืนยันตัวตน แต่แสดงหน้าจอว่าบัญชีไม่มีบทบาท- บนหน้าจอมีข้อความปฏิเสธการเข้าถึงว่า บัญชีไม่มี “FIFA Football Data Platform role”
- แต่การตรวจสอบจริงหยุดอยู่แค่ การเรนเดอร์ฝั่งไคลเอนต์ ของแอป Angular ส่วนแบ็กเอนด์ API ยังคงส่งข้อมูลกลับมา
แผง Streaming Management ถูกเปิดเผย
- เมื่อข้าม client-side guard ได้ ก็สามารถเข้าถึง แผง Streaming Management สำหรับปฏิบัติการของ FIFA World Cup 2026 ได้
- ในแผงมีรายการแมตช์ทั้งหมด มุมกล้องทั้งหมด RTMP ingest URL และ stream key
- แต่ละแมตช์มีฟีดกล้อง 5 ตัว
PGMTacticalCamera1High Behind LeftHigh Behind Right
- แต่ละฟีดมีข้อมูลดังนี้
- RTMP ingest URL ที่กล้องใช้ส่งวิดีโอเข้า
- preview manifest สำหรับรับชมฟีด
- output URL ซึ่งเป็น HLS manifest ที่ส่งต่อให้พาร์ตเนอร์ถ่ายทอดสด
- UUID ที่ท้าย RTMP ingest URL คือ stream key และกล้องทั้ง 5 มุมของแมตช์เดียวกันใช้คีย์ร่วมกัน
- โครงสร้างพื้นฐานสตรีมมิงโฮสต์โดย MediaKind ซึ่งเป็นพาร์ตเนอร์เทคโนโลยีสตรีมของ FIFA และเป็นเอนด์พอยต์ปฏิบัติการที่รับฟีดกล้องสดจากสนามในสหรัฐฯ เม็กซิโก และแคนาดา
การตรวจสอบฟีดสดและความเป็นไปได้ในการควบคุมสตรีม
- เมื่อนักวิจัยคัดลอก preview manifest ไปเปิดใน VLC ก็สามารถเล่น ฟีดกล้อง tactical สด ของแมตช์ที่กำลังแข่งขันอยู่ได้จากพีซีในโตเกียว
- หลังยืนยันแล้วก็ปิดฟีดทันที แต่ยืนยันได้ว่า preview URL ให้สตรีมวิดีโอสดของแมตช์ที่กำลังแข่งจริง
- แผง Streaming Management ไม่ได้มีแค่ดูข้อมูล แต่ยังมีฟังก์ชันควบคุมอย่าง start, stop, schedule
- นักวิจัยไม่ได้กดปุ่มควบคุมใด ๆ แต่เห็นฟังก์ชันควบคุมสำหรับทุกแมตช์และทุกมุมกล้องบนแผง
- RTMP ingest URL เป็นเส้นทางรับสัญญาณจากกล้องในสนามไปยัง MediaKind และพาร์ตเนอร์ถ่ายทอดสด
- ลำดับการไหลคือ กล้อง → RTMP ingest → MediaKind → พาร์ตเนอร์ถ่ายทอดสด → TV
- หากผู้โจมตีส่งวิดีโอเข้า RTMP endpoint พร้อม stream key ก็สามารถแทนที่ฟีดกล้องได้
PGMคือเอาต์พุตถ่ายทอดสดหลัก ดังนั้นหากแทนที่ได้ ก็อาจทำให้เครือข่ายทีวีที่รับฟีดจาก FIFA แสดงวิดีโอที่ผู้โจมตีส่งเข้าไป
- นักวิจัยย้ำว่าไม่ได้ส่งวิดีโอเข้า RTMP endpoint ใด ๆ
ฟังก์ชันอื่น ๆ ของ Football Data Platform ที่ถูกเปิดเผย
- บัญชี
NO_ROLESเข้าถึงพื้นที่หลายส่วนของ Football Data Platform ได้ นอกเหนือจาก Streaming Management- Competitions
- Matches
- Teams
- Tools
- Exchange Platform
- Analysis Dashboard
- Commentator Information System
- FIFA AI Pro
- Admin
- แดชบอร์ดแมตช์สดมีทั้งวิดีโอเพลเยอร์ในตัว ไทม์ไลน์เหตุการณ์แบบเรียลไทม์ และข้อมูลเจ้าหน้าที่ประจำแมตช์
- ตัวอย่างเช่น แมตช์ Côte d'Ivoire vs Ecuador ถูกแสดงว่าอยู่ในสถานะสด พร้อมไทม์ไลน์ใบเหลืองและข้อมูล match officials
- ใน Advanced Analytics มีข้อมูลอย่าง live possession control, attempt creation breakdowns, ball recovery timing, distance covered และการเชื่อมกับ FIFA AI Pro
งานเขียนสำหรับการจัดการแมตช์และผลกระทบต่อข้อมูลถ่ายทอดสด
- ในแท็บ Management ของ
fdp.fifa.orgมี งานเขียน และแบ็กเอนด์ก็ยอมรับคำขอจากบัญชีNO_ROLES - หน้าจอ “Update Live Stats” มี rich text editor, ช่องเวลาแข่งขัน, ช่องสกอร์ และปุ่ม
Edit and Publish - รายการจัดการที่เข้าถึงได้มีดังนี้
- 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
- ผู้โจมตีสามารถทำสิ่งต่อไปนี้ได้
- แก้ไขและเผยแพร่ editorial commentary notes ที่ส่งไปยังระบบถ่ายทอดสด
- ปรับเวลาเขี่ยบอลอย่างเป็นทางการ
- ส่ง tactical lineup data
- เปลี่ยนสกอร์และสถิติการแข่งขัน
- ข้อมูลเหล่านี้ถูกส่งเข้าสู่ Commentator Information System และสรุปว่าอาจถูกแสดงบน TV สด
การเข้าถึง Commentator Information System
cis.fifa.orgก็เข้าถึงได้ด้วยบัญชีNO_ROLES- ระบบนี้เป็น แดชบอร์ดแบบเรียลไทม์ ที่ผู้บรรยายใช้ระหว่างการถ่ายทอดสดแมตช์
- บนแดชบอร์ด FIFA World Cup 2026 มีการแสดงสกอร์สด แมตช์ที่กำลังจะมาถึง และผลการแข่งขัน
- หน้าจอของแมตช์ Côte d'Ivoire vs Ecuador ในนาทีที่ 75 มีทั้งมุมมองเชิงแท็กติก ตำแหน่งผู้เล่น แผนการเล่น สถิติสด ไทม์ไลน์การเปลี่ยนตัว และข้อมูลนักเตะ
- จากบัญชียังสามารถดู editorial note สำหรับผู้บรรยาย, pre-match stats kit และ talking point ได้
สภาพแวดล้อมพัฒนา Azure Function App ถูกเปิดเผย
- นักวิจัยยังพบ Azure Function App ในรูปแบบ
xxxxxxxxx-spreadsheets-api.azurewebsites.net - API นี้ส่งคืนเมทาดาทาของไฟล์ภายใน FIFA 23 ไฟล์ พร้อม direct download URL จาก Azure Blob Storage
- ในคำตอบมีชื่อไฟล์อย่าง
00_TransferCount_in_ENGLISH.xlsx,0_pending_transfers_example.xlsx,Debbie.xlsx - เนื้อหาไฟล์ถูกอธิบายว่ามีทั้ง transfer reports, revenue comparisons, ข้อมูลการเป็นตัวแทนระดับบอร์ด และสถิติผู้ตัดสินกับโค้ช
- API นี้ก็ไม่มีการตรวจสอบบทบาทเช่นกัน
ความพยายามแจ้งเตือนและช่องทางติดต่อ
- นักวิจัยระบุว่าพบปัญหาระหว่างช่วงฟุตบอลโลก แต่ FIFA ไม่มี bug bounty program,
security.txtหรือช่องทางติดต่อด้านความปลอดภัยสาธารณะ - มีการส่งรายละเอียดการแจ้งเตือนไปยังอีเมลหลาย адресของ FIFA และอีเมลพนักงาน แต่ 5 ฉบับตีกลับ ส่วนที่เหลือไม่มีการตอบกลับ
- นักวิจัยค้นหา Sebastian Runge ซึ่งเป็น Head of Football Technology & Data ของ FIFA บน LinkedIn แล้วติดต่อผ่าน WhatsApp แต่ไม่ได้รับคำตอบ
- มีการโทรไปสำนักงานใหญ่ FIFA ที่ซูริกและสายสื่อ FIFA แต่ปิดทำการเพราะเป็นคืนวันอาทิตย์ในซูริก
- มีการโทรไปยัง Kay Bailey Hutchison Convention Center ในดัลลัส ซึ่งเป็นที่ตั้งของ International Broadcast Centre แต่ถูกส่งเข้าวอยซ์เมล
- สายโทรฟรีของ MediaKind ติดต่อได้ และผู้รับสายเข้าใจปัญหาทันที ก่อนขอให้ส่งรายละเอียดทางอีเมลรวมถึง stream key
- มีการโทรหา HBS แต่ได้รับคำตอบว่าไม่มีผู้ที่สามารถช่วยได้ ก่อนสายจะถูกตัด และเมื่อลองโทรซ้ำก็ติดต่อไม่ได้
- มีการโทรหา Infront Sports & Media ซึ่งเป็นบริษัทแม่ของ HBS แต่ก็ติดต่อไม่ได้เช่นกัน
- นักวิจัยยืนยันว่า CISA เป็นหน่วยงานกลางด้านไซเบอร์ของรัฐบาลกลางสำหรับ FIFA World Cup 2026 รวมถึงระบบถ่ายทอดสด จึงติดต่อศูนย์ปฏิบัติการ 24/7
- CISA รับสายและขอให้ส่งรายละเอียดทางอีเมล
- นักวิจัยยังส่งข้อความผ่าน Signal ไปยังช่องทางติดต่อของ FBI ที่รู้จักจากงานไซเบอร์ก่อนหน้า โดยฝั่ง FBI ตอบว่ามีเครือข่ายติดต่ออยู่และต้องจัดแพ็กข้อมูลให้เหมาะสม
การเปิดเผยที่ยังคงอยู่หลังการแก้ไข
- ระหว่างการแจ้งเตือนกับวันถัดมา ช่องโหว่ถูกแก้ไขแล้ว และบัญชี
NO_ROLESของนักวิจัยได้รับ การตอบกลับ 403 จากเซิร์ฟเวอร์แทนหน้าปฏิเสธการเข้าถึงแบบเดิมของไคลเอนต์ - FIFA ไม่ได้ตอบกลับโดยตรง ไม่ว่าจะเป็นการยืนยันการรับแจ้ง การขอบคุณ หรือการพูดคุยเรื่องค่าตอบแทน
- อย่างไรก็ตาม นักวิจัยระบุว่ายังคงอยู่ในรายชื่ออีเมลของ FDP และยังได้รับเอกสารการแข่งขันอย่างเป็นทางการของ FIFA World Cup 2026
- Start Lists
- Tactical Lineups
- Full Time Match Reports
- เอกสารที่ส่งมาใน 4 ภาษา
ต้นเหตุคือไม่มีการบังคับใช้สิทธิ์ฝั่งเซิร์ฟเวอร์
- ต้นตอของปัญหาคือ โครงสร้างที่ตรวจสอบสิทธิ์เฉพาะฝั่งไคลเอนต์โดยไม่มีการบังคับใช้สิทธิ์ฝั่งเซิร์ฟเวอร์
- แอปภายในของ FIFA ใช้ Microsoft Entra สำหรับการยืนยันตัวตนและการควบคุมการเข้าถึงตามบทบาท แต่ฟรอนต์เอนด์เพียงตรวจสอบ role claim ใน JWT เพื่อเรนเดอร์หน้าปฏิเสธการเข้าถึง
- แบ็กเอนด์ API เชื่อเพียงว่าผู้ใช้เป็นสมาชิกที่ยืนยันตัวตนแล้วของเทนเนนต์ และส่งข้อมูลให้โดยไม่สนใจบทบาท
- ลำดับการโจมตีมีดังนี้
- สมัครสาธารณะที่
agents.fifa.org - บัญชีถูกเพิ่มเข้าเทนเนนต์ Entra ของ FIFA
- ยืนยันตัวตนกับแอปภายในของ FIFA
- ฝั่งไคลเอนต์แสดงการปฏิเสธการเข้าถึง
- ฝั่งเซิร์ฟเวอร์ส่งข้อมูลให้
- สมัครสาธารณะที่
- รูปแบบนี้ส่งผลกระทบอย่างน้อยต่อระบบต่อไปนี้
fdp.fifa.org— Football Data Platformcis.fifa.org— Commentator Information Systemxxxxxxxxx-spreadsheets-api.azurewebsites.net— สภาพแวดล้อมพัฒนา
- นักวิจัยเรียกร้องให้ FIFA มีไฟล์
security.txt, นโยบายเปิดเผยช่องโหว่ (VDP), bug bounty program และการตรวจสอบสิทธิ์ฝั่งเซิร์ฟเวอร์
1 ความคิดเห็น
ความคิดเห็นจาก Lobste.rs
สงสัยว่าเข้าถึง คอนโซลจัดการสินบน ของ FIFA ได้ด้วยหรือเปล่า
ใช้คำว่า
could'veงั้นเหรอ น่าเสียดายที่ไม่ได้ทำจริงไม่เข้าใจ โทน ของบทความเลย
นี่เป็นเรื่องขำ ๆ ล้วน ๆ ถ้าจะให้นึกภาพอินเทอร์เน็ตที่ไม่มีเหตุละเมิดแบบนี้ก็คงน่าเบื่อเกินไป และคนเขียนน่าจะรู้สึกขอบคุณด้วยซ้ำ
แถมก็ไม่มีใครบอกให้รายงานตั้งแต่แรก ไม่เข้าใจว่าจะบ่นว่ารายงานยากไปทำไม อยากทำก็ทำ ไม่อยากทำก็ไม่ต้องทำ ถ้าโกรธขนาดนั้นก็เอาไปใช้หาประโยชน์เลยสิ ไม่เห็นต้องมาบ่นว่าไม่มีอีเมลสำหรับแจ้งช่องโหว่ความปลอดภัย
ที่แปลกคือคนเขียนไม่ได้โทษตัวช่องโหว่โง่ ๆ นั่นเอง แต่กลับโทษแค่ว่าทำให้รายงานได้ยาก
หลักฐานคือการใช้ตัวพิมพ์ใหญ่แบบพาดหัว ประโยคสั้น ๆ ที่มีจุดเต็มไปหมด คำถามเชิงวาทศิลป์สั้น ๆ อย่าง “That UUID at the end? [...] That's the stream key” และการใช้คำว่า “breakthrough” ในงานเขียนที่ไม่ใช่เชิงเทคนิค
ถ้าไปดูโพสต์ยาว ๆ ของผู้เขียนบนโซเชียลจะเห็นว่าไม่ได้เขียนสไตล์นี้
เพราะงั้นอาจจะตื่นตระหนกไปเลยก็ได้ เขาเห็นสิ่งที่ไม่มีใครควรเห็น และถ้ามีการแฮ็กเกิดขึ้นจริง เขาก็คงเป็นผู้ต้องสงสัยคนแรก
น่าทึ่งที่องค์กรใหญ่ขนาดนี้ยังทำ พื้นฐาน ไม่ได้ดีพอ
ภาพลักษณ์คือมีผู้บริหารเป็นพวกนักธุรกิจที่ความเข้าใจคอมพิวเตอร์อยู่ระดับ Derek Zoolander
เข้าใจได้ว่าช่องโหว่อาจมีอยู่ได้ แต่ถ้า นักวิจัยด้านความปลอดภัย ต้องติดต่อ FBI เพื่อจะรายงานเรื่องนี้ นั่นคือปัญหาเชิงโครงสร้างที่ใหญ่กว่า
อยากให้แฮ็กเกอร์ ริกโรล FIFA World Cup ไปเลย
คงกลายเป็นเรื่องระดับตำนานพอ ๆ กับการแฮ็ก Sphere ที่ลาสเวกัส
ให้ความรู้สึกเหมือนการเชื่อมพอร์ทัลกับแผงควบคุมสตรีมมิงถูกโยนให้ Copilot ทำแบบลวก ๆ แล้วก็จบ
สงสัยว่าเว็บล่มสำหรับทุกคนหรือว่าเป็นแค่ฝั่งฉัน
ลองทดสอบกับ public recursive resolver แล้ว ตัวเว็บไซต์เองดูไม่มีปัญหา
โดเมนนี้เคยอยู่ใน dns blocklist ไฟล์ rpz/tif.txt ของสำเนาเมื่อสัปดาห์ก่อน อาจจะอยู่ในรูปแบบอื่นด้วย แต่ฉันเช็กแค่ไฟล์ที่ตัวเองใช้
ไม่รู้ว่าใช้ตัวชี้วัดอะไรในการใส่โดเมนนี้เข้าไปในรายการนั้น แต่ในรีลีสล่าสุดไม่มีแล้ว