Chỉ cần có ID, tôi đã có thể phát Rickroll cho toàn bộ FIFA World Cup
(bobdahacker.com)- Chỉ với việc đăng ký công khai vào FIFA Agent Platform, người ta đã có thể vào tenant Microsoft Entra của FIFA và truy cập cả Football Data Platform dùng để vận hành World Cup 2026 lẫn chức năng quản lý phát sóng streaming
- Nguyên nhân là do trạng thái
NO_ROLEStrong JWT chỉ được kiểm tra ở frontend, còn API backend không ép buộc vai trò, tức là kiểm tra quyền ở phía client - Bảng điều khiển Streaming Management bị lộ chứa RTMP ingest URL, preview manifest, output URL và stream key của 5 luồng camera cho mỗi trận, và feed preview trực tiếp có thể phát bằng VLC
- Phạm vi truy cập không chỉ dừng ở xem dữ liệu mà còn bao gồm một số thao tác ghi như bắt đầu/dừng/lên lịch luồng trận đấu, thống kê trực tiếp, thời điểm kickoff, tỷ số, đội hình chiến thuật; đồng thời Commentator Information System và Azure Function App dùng cho phát triển cũng bị mở
- FIFA không phản hồi trực tiếp, nhưng ngay ngày hôm sau sau khi được báo, máy chủ đã được sửa để trả về
403; nhà nghiên cứu yêu cầu cósecurity.txt, chính sách công bố lỗ hổng, bug bounty và kiểm tra quyền ở phía máy chủ
Đăng ký Agent Platform công khai dẫn tới truy cập nội bộ
- FIFA Agent Platform là cổng công khai để đăng ký giấy phép đại diện cầu thủ, có thể tạo tài khoản bằng cách gửi ID và xác thực email
- Sau khi đăng ký xong, tài khoản được thêm vào tenant Microsoft Entra của FIFA, và tenant này đang được dùng trên nhiều nền tảng nội bộ của FIFA
- Nhà nghiên cứu thất bại hai lần vì vấn đề ánh sáng ở ảnh chụp ID, rồi thành công ở lần thử thứ ba
- Sau đó khi truy cập
fdp.fifa.org, Football Data Platform cho qua bước xác thực rồi hiển thị màn hình nói rằng tài khoản không có vai trò- Trên màn hình xuất hiện thông báo từ chối truy cập rằng tài khoản không có “FIFA Football Data Platform role”
- Việc kiểm tra thực tế chỉ dừng ở render phía client trong ứng dụng Angular, còn API backend vẫn trả dữ liệu theo yêu cầu
Bảng điều khiển Streaming Management bị lộ
- Sau khi vượt qua lớp chặn ở phía client, có thể truy cập bảng điều khiển Streaming Management vận hành của FIFA World Cup 2026
- Bảng điều khiển hiển thị tất cả trận đấu, góc máy và RTMP ingest URL cùng stream key
- Mỗi trận có 5 feed camera
PGMTacticalCamera1High Behind LeftHigh Behind Right
- Mỗi feed bao gồm các thông tin sau
- RTMP ingest URL mà camera gửi video tới
- preview manifest để xem feed
- output URL là HLS manifest được chuyển cho đối tác phát sóng
- UUID ở cuối RTMP ingest URL chính là stream key, và 5 góc camera của cùng một trận dùng chung một key
- Hạ tầng streaming được lưu trữ bởi đối tác công nghệ streaming của FIFA là MediaKind, và là endpoint vận hành nhận feed camera trực tiếp từ các sân vận động ở Mỹ, Mexico và Canada
Xác nhận feed trực tiếp và khả năng điều khiển luồng
- Khi nhà nghiên cứu chép preview manifest vào VLC, feed camera chiến thuật trực tiếp của một trận đang diễn ra đã phát trên PC ở Tokyo
- Ngay sau khi xác nhận thì feed được đóng lại, nhưng điều này cho thấy preview URL thực sự cung cấp video trực tiếp của trận đang hoạt động
- Bảng điều khiển Streaming Management không chỉ cho xem mà còn cung cấp các chức năng điều khiển như start, stop, schedule
- Nhà nghiên cứu không bấm các nút điều khiển, nhưng các chức năng điều khiển cho mọi trận và mọi góc máy đều xuất hiện trên bảng điều khiển
- RTMP ingest URL là đường vào từ camera sân vận động tới MediaKind và các đối tác phát sóng
- Luồng đi theo thứ tự camera → RTMP ingest → MediaKind → đối tác phát sóng → TV
- Nếu kẻ tấn công đẩy video lên endpoint RTMP kèm stream key, họ có thể thay thế feed camera
PGMlà đầu ra phát sóng chính, nên nếu feed này bị thay thế thì video do kẻ tấn công gửi có thể xuất hiện trên các mạng TV nhận feed của FIFA
- Nhà nghiên cứu khẳng định không đẩy video lên bất kỳ RTMP endpoint nào
Các chức năng khác của Football Data Platform cũng bị lộ
- Tài khoản
NO_ROLEScó thể truy cập nhiều khu vực của Football Data Platform ngoài Streaming Management- Competitions
- Matches
- Teams
- Tools
- Exchange Platform
- Analysis Dashboard
- Commentator Information System
- FIFA AI Pro
- Admin
- Dashboard trận đấu trực tiếp bao gồm trình phát video tích hợp, timeline sự kiện thời gian thực và dữ liệu quan chức trận đấu
- Ví dụ, trận Côte d'Ivoire vs Ecuador được hiển thị ở trạng thái trực tiếp, cùng với timeline thẻ vàng và thông tin match officials
- Advanced Analytics bao gồm live possession control, attempt creation breakdowns, ball recovery timing, distance covered và tích hợp FIFA AI Pro
Thao tác ghi trong quản lý trận đấu và tác động tới dữ liệu phát sóng
- Tab Management của
fdp.fifa.orgcó các thao tác ghi, và backend chấp nhận yêu cầu từ tài khoảnNO_ROLES - Màn hình “Update Live Stats” có rich text editor, trường thời gian trận đấu, trường tỷ số và nút
Edit and Publish - Các mục quản lý có thể truy cập gồm
- 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
- Kẻ tấn công có thể thực hiện các thao tác sau
- chỉnh sửa và xuất bản editorial commentary notes được chuyển tới hệ thống phát sóng
- điều chỉnh thời điểm kickoff chính thức
- gửi tactical lineup data
- thay đổi tỷ số và thống kê trận đấu
- Dữ liệu này được đưa vào Commentator Information System và theo mô tả là hiển thị trên truyền hình trực tiếp
Truy cập Commentator Information System
cis.fifa.orgcũng có thể truy cập bằng tài khoảnNO_ROLES- Đây là dashboard thời gian thực mà bình luận viên phát sóng sử dụng trong lúc trận đấu diễn ra
- Dashboard FIFA World Cup 2026 hiển thị tỷ số trực tiếp, lịch thi đấu sắp tới và kết quả
- Màn hình ở phút 75 của trận Côte d'Ivoire vs Ecuador bao gồm tactical view, vị trí cầu thủ, sơ đồ đội hình, thống kê trực tiếp, timeline thay người và dữ liệu đội hình
- Từ tài khoản này cũng có thể xem editorial note dành cho bình luận viên, pre-match stats kit và talking point
Azure Function App môi trường phát triển bị lộ
- Nhà nghiên cứu cũng phát hiện một Azure Function App dạng
xxxxxxxxx-spreadsheets-api.azurewebsites.net - API này trả về metadata của 23 tệp nội bộ FIFA cùng URL tải trực tiếp từ Azure Blob Storage
- Phản hồi bao gồm các tên tệp như
00_TransferCount_in_ENGLISH.xlsx,0_pending_transfers_example.xlsx,Debbie.xlsx - Nội dung tệp được nhắc tới gồm transfer reports, revenue comparisons, board-level representation data, referee and coach statistics
- API này cũng không có kiểm tra vai trò
Nỗ lực báo cáo và các kênh liên hệ
- Nhà nghiên cứu cho biết đã phát hiện vấn đề trong thời gian World Cup diễn ra, nhưng FIFA không có chương trình bug bounty,
security.txthay đầu mối liên hệ bảo mật công khai - Báo cáo đầy đủ đã được gửi tới nhiều địa chỉ email của FIFA và email nhân viên, nhưng 5 địa chỉ bị trả lại còn các địa chỉ khác không phản hồi
- Trên LinkedIn, nhà nghiên cứu tìm thấy Sebastian Runge, Head of Football Technology & Data của FIFA, rồi liên hệ qua WhatsApp nhưng không nhận được hồi âm
- Nhà nghiên cứu cũng gọi tới trụ sở FIFA ở Zurich và đường dây truyền thông của FIFA, nhưng đều đóng cửa vì đó là tối Chủ nhật tại Zurich
- Trung tâm hội nghị Kay Bailey Hutchison ở Dallas, nơi có International Broadcast Centre, cũng được gọi tới nhưng chỉ chuyển vào hộp thư thoại
- Số điện thoại miễn cước của MediaKind đã kết nối được, và người phụ trách lập tức hiểu vấn đề rồi yêu cầu gửi email chi tiết kèm stream key
- HBS được gọi tới nhưng cuộc gọi kết thúc sau khi nhận câu trả lời rằng không có ai có thể hỗ trợ; những lần gọi lại sau đó không kết nối được
- Công ty mẹ của HBS là Infront Sports & Media cũng được gọi nhưng không kết nối
- Nhà nghiên cứu xác nhận rằng CISA là đầu mối liên bang về an ninh mạng cho FIFA World Cup 2026, bao gồm cả hệ thống phát sóng, và đã liên hệ trung tâm vận hành 24/7
- CISA đã bắt máy và yêu cầu gửi chi tiết qua email
- Một đầu mối FBI mà nhà nghiên cứu quen từ công việc an ninh mạng trước đó cũng được liên hệ qua Signal, và phía FBI trả lời rằng họ có mạng lưới liên lạc và cần đóng gói thông tin cho phù hợp
Vẫn còn lộ dữ liệu sau khi đã vá
- Từ lúc báo cáo tới ngày hôm sau, lỗ hổng đã được sửa và tài khoản
NO_ROLEScủa nhà nghiên cứu không còn thấy màn hình từ chối ở phía client mà nhận phản hồi 403 từ máy chủ - FIFA không đưa ra bất kỳ phản hồi trực tiếp nào như xác nhận báo cáo, cảm ơn hay thảo luận phần thưởng
- Tuy vậy, nhà nghiên cứu nói rằng mình vẫn còn trong danh sách phát email của FDP và vẫn đang nhận tài liệu trận đấu chính thức của FIFA World Cup 2026
- Start Lists
- Tactical Lineups
- Full Time Match Reports
- tài liệu được gửi bằng 4 ngôn ngữ
Nguyên nhân gốc: không ép quyền ở phía máy chủ
- Nguyên nhân cốt lõi là kiến trúc chỉ kiểm tra quyền ở phía client mà không ép buộc ở phía máy chủ
- Ứng dụng nội bộ của FIFA dùng Microsoft Entra cho xác thực và kiểm soát truy cập theo vai trò, nhưng frontend chỉ kiểm tra role claim trong JWT để render màn hình từ chối truy cập
- API backend chỉ tin rằng người dùng là thành viên tenant đã được xác thực và cung cấp dữ liệu bất kể vai trò
- Luồng tấn công diễn ra như sau
- đăng ký công khai tại
agents.fifa.org - tài khoản được thêm vào tenant Entra của FIFA
- xác thực vào ứng dụng nội bộ của FIFA
- client hiển thị từ chối truy cập
- server vẫn cung cấp dữ liệu
- đăng ký công khai tại
- Mô hình này ảnh hưởng ít nhất tới các hệ thống sau
fdp.fifa.org— Football Data Platformcis.fifa.org— Commentator Information Systemxxxxxxxxx-spreadsheets-api.azurewebsites.net— môi trường phát triển
- Nhà nghiên cứu yêu cầu FIFA triển khai tệp
security.txt, chính sách công bố lỗ hổng (VDP), chương trình bug bounty và kiểm tra quyền ở phía máy chủ
1 bình luận
Ý kiến trên Lobste.rs
Tò mò không biết liệu có thể truy cập cả bảng điều khiển quản lý hối lộ của FIFA hay không
could'veà, tiếc là đã không thật sự làm vậyKhông hiểu được giọng điệu của bài viết này
Đây hoàn toàn là một chuyện buồn cười. Nếu tưởng tượng ra một Internet không có những vụ xâm nhập kiểu này thì chắc chán chết, và tác giả nên thấy biết ơn mới phải
Hơn nữa, chẳng ai bắt phải báo cáo cả, nên cũng không hiểu vì sao lại phàn nàn rằng việc báo cáo quá khó. Muốn thì làm, không thì thôi. Nếu đã tức đến thế thì cứ khai thác luôn đi, chứ không phải ngồi than phiền vì không có email để báo cáo lỗ hổng bảo mật
Điều kỳ lạ là tác giả không trách chính cái lỗ hổng ngu ngốc đó, mà chỉ trách việc họ làm cho nó khó bị báo cáo
Căn cứ là cách viết hoa kiểu tiêu đề, các câu ngắn có rất nhiều dấu chấm, các câu hỏi tu từ ngắn như “That UUID at the end? [...] That's the stream key”, và việc dùng từ “breakthrough” trong một bài không mang tính kỹ thuật
Nếu xem các bài viết dài trên mạng xã hội của tác giả thì họ không viết theo kiểu này
Nên rất có thể họ đã hoảng loạn. Họ đã nhìn thấy những thứ không ai được phép thấy, và nếu thực sự có vụ tấn công xảy ra thì họ sẽ là nghi phạm số một
Thật đáng ngạc nhiên khi những tổ chức lớn đến vậy lại còn không làm nổi những điều cơ bản
Có cảm giác ban điều hành toàn là những doanh nhân có mức độ hiểu máy tính cỡ Derek Zoolander
Có thể hiểu là lỗ hổng vẫn có thể tồn tại, nhưng nếu một nhà nghiên cứu bảo mật phải liên hệ FBI chỉ để báo cáo nó thì đó là một vấn đề cấu trúc còn lớn hơn
Giá như hacker đã rickroll cả FIFA World Cup thì hay biết mấy
Chắc đã trở thành huyền thoại ngang với vụ hack Sphere ở Las Vegas
Có cảm giác như phần tích hợp giữa cổng thông tin và bảng điều khiển streaming đã được quăng cho Copilot làm đại khái rồi thôi
Không rõ là trang web bị sập với tất cả mọi người hay chỉ mình tôi bị vậy
Tôi thử bằng recursive resolver công khai thì có vẻ bản thân trang web không có vấn đề gì
Tên miền này đã có trong dns blocklist tại rpz/tif.txt của bản sao từ một tuần trước. Có lẽ nó cũng có trong các định dạng khác, nhưng tôi chỉ kiểm tra file mình đang dùng
Tôi không biết họ dựa vào chỉ dấu nào để đưa tên miền vào danh sách đó, nhưng trong bản phát hành mới nhất thì nó không còn nữa