- TASZK Security Labs công bố full exploit chain ba lỗ hổng trong giao thức miIO của Xiaomi: auth bypass, PRNG yếu (đoán được sau ~22 gói), và heap buffer overflow qua UDP 54321 — đủ để RCE camera C400 từ trong tầm Wi-Fi.
- 6.5 tháng sau báo cáo, Xiaomi vẫn chưa vá và chưa cấp CVE.
TL;DR
TASZK Security Labs (researcher Botond Hartmann) vừa public Now You See mi: Now You're Pwned — chuỗi khai thác 2 tháng ngược camera Xiaomi C400 và ra được RCE không dây cộng cloud jailbreak. Ba lỗ hổng trong giao thức miIO đi kèm full POC: TVE-2026-01 auth bypass, TVE-2026-02 PRNG yếu (đoán toàn bộ random sau ~22 gói), TVE-2026-03 heap buffer overflow qua UDP/54321. Báo Xiaomi từ 2025-09-04; 6.5 tháng sau vẫn chưa có patch, chưa có CVE.
Có gì mới
Khác với các research Xiaomi camera trước đây (ví dụ yi-hack trên chip Hi3518e năm 2021) — vốn cần cắm UART, đổ firmware, flash lại — chain của TASZK thuần remote: kẻ tấn công trong tầm Wi-Fi là đủ. Không cần physical access, không cần credential, không cần token của thiết bị. Đặc biệt, ở trạng thái factory, camera tự host một Wi-Fi Access Point mở, không auth để app Xiaomi Home pair — đây chính là cửa vào.
Ba lỗ hổng, một chain
TVE-2026-01 — Auth Bypass
Lỗi thiết kế trong bắt tay (handshake) miIO. Kẻ tấn công bypass xác thực miio_client mà không cần biết device token. Protocol design flaw, không phải bug implementation đơn thuần.
TVE-2026-02 — PRNG yếu về mật mã
PRNG dùng trong miIO client có điểm yếu sinh số giả ngẫu nhiên nghiêm trọng. Sau khi quan sát trung bình 22 gói, toàn bộ số random tương lai có thể đoán chính xác — phá vỡ các primitive mật mã dùng trong auth và key agreement của setup flow. Nói cách khác, bí mật chia sẻ không còn bí mật.
TVE-2026-03 — Heap Buffer Overflow → RCE
Lỗi nằm trong hàm AesCbcDecrypt xử lý gói UDP cổng 54321. Khi payload không căn 16-byte, code tính remainder_bytes nhưng không trừ size tương ứng. Kết quả: block cuối đọc ciphertext ra ngoài input buffer và ghi plaintext đã giải mã ra ngoài heap chunk output. Vì chương trình dùng độ dài gói lấy từ header miIO, attacker gửi UDP packet lớn hơn độ dài khai báo để kiểm soát 16 byte ghi đè ngoài ranh giới plaintext heap chunk. Khai thác chain TVE-01 + TVE-03 = RCE không xác thực qua Wi-Fi.
Vì sao đáng chú ý
Giao thức miIO không chỉ chạy trên C400 — nó là nền tảng setup chung cho rất nhiều thiết bị Xiaomi Smart. Nếu ba lỗi này có mặt trong miIO stack dùng chung, bề mặt tấn công không dừng ở một model camera. Thêm nữa, mô hình đe doạ "attacker cùng mạng Wi-Fi" không phải chuyện viễn tưởng: quán cà phê, chung cư, khách sạn, hay đơn giản là một rogue AP bật gần camera đang ở factory state.
Technical facts
| Thuộc tính | Chi tiết |
|---|---|
| Thiết bị xác minh | Xiaomi C400 Smart Camera |
| Giao thức | miIO (proprietary), UDP/54321 |
| Factory AP | Mở, không authentication |
| PRNG prediction | ~22 gói quan sát trung bình |
| Heap OOB write | 16 byte attacker-controlled |
| Auth required | Không |
| Chain | TVE-01 + TVE-03 → RCE |
| CVE | Chưa cấp |
| Patch | Chưa phát hành |
So sánh với nghiên cứu cũ
Work 2021 của Sungur Labs trên Xiaomi camera cũ (Hi3518e): phải tháo vỏ, hàn UART, dump firmware qua serial, rồi flash custom firmware để backdoor. Đó là physical-access threat model. TASZK trên C400 là pure remote — gần hơn về bản chất với exploit baseband / Wi-Fi chipset. Nâng hẳn một nấc về mức độ thực tế.
Ai dùng được
- Offensive/pentester: đánh giá bảo mật IoT tiêu dùng trong engagement thực tế, đặc biệt kịch bản Wi-Fi chia sẻ.
- Người dùng privacy: jailbreak cloud để camera chạy local-only, không gọi về server Xiaomi — hữu ích với ai lo ngại quyền riêng tư dữ liệu hình ảnh.
- IoT bug hunter: miIO là target béo bở vì được dùng rộng; kỹ thuật trong research này có thể pivot sang các thiết bị Xiaomi khác.
Giới hạn & trạng thái vá lỗi
- Yêu cầu kề cận vật lý: attacker phải ở trong tầm Wi-Fi. Không phải internet-wide mass exploit.
- Camera factory-state (chưa setup) là mục tiêu dễ nhất do AP mở.
- Xiaomi chưa vá, chưa cấp CVE tại thời điểm advisory, dù đã >6 tháng kể từ báo cáo.
- Process disclosure có nhiều ma sát: Xiaomi redirect sang HackerOne (TASZK từ chối), nói thất lạc PGP key, liên tục xin full exploit code.
Tiếp theo là gì
Advisory + POC đã public từ 2026-03-16. Banh cửa cho ai muốn tái hiện, fuzz tiếp miIO stack trên các model Xiaomi khác, hoặc viết rule IDS/IPS phát hiện exploit traffic. Áp lực giờ ở phía Xiaomi: phát hành firmware fix và cấp CVE minh bạch. Với user: nếu đang dùng C400 (hoặc thiết bị miIO khác), tối thiểu không để camera ở factory state trong mạng công cộng, setup ngay khi mở hộp trên mạng riêng tin cậy.
Nguồn: TASZK Labs — Now You See mi, TVE-2026-01, TVE-2026-02, TVE-2026-03.