gemini-2.5-flash-preview-09-2025| input-price: 0.3 output-price: 2.5 max-context-length: 128_000 (cost: $0.007) · Anfrage: 2026-02-06T22:48:04.391187
Generated by rs-summarizer Version unbekannt
This topic is highly relevant for review by Application Security Engineers, Penetration Testers, API Developers, and IoT/Cloud Backend Architects.
This report details the discovery and exploitation of a critical Cross-Tenant Insecure Direct Object Reference (IDOR, CWE-639) vulnerability within the Xiaomi Mi Fitness (Huami/Zepp Health) API. The analysis utilized advanced penetration testing techniques, including ARP spoofing via MITMf, packet capture via Wireshark, and runtime SSL pinning bypass using Frida on a rooted Android device. The core vulnerability stemmed from the server-side failure to validate the user identity presented in the HTTP request headers (user_id) against the authenticated identity within the JSON Web Token (apptoken). Reverse engineering of the Protocol Buffer (protobuf) payloads revealed sequential, predictable user identifiers. Exploitation allowed an attacker, using a valid token, to access, modify, and delete sensitive personal health and GPS data belonging to any other user. The calculated CVSS v3.1 score for this finding was 9.1 (Critical). Following coordinated disclosure, the vendor implemented server-side authorization checks, enforced TLS 1.3, and introduced API rate limiting.
checkServerTrusted and verify methods.0x4D49 for account operations and 0x5853 for data synchronization—which served as proprietary protocol identifiers for the Xiaomi API.protobuf-inspector, the binary schema was reverse engineered, confirming that the user_id (Field 1) was transmitted as a simple varint, suggesting sequential integer allocation which facilitates enumeration.apptoken (JWT) and a separate user_id parameter in the HTTP headers. The critical flaw was the server's trust relationship: the system validated the JWT signature but blindly accepted and processed the user_id value provided in the header without cross-referencing it against the actual user ID contained within the validated JWT payload.user_id header parameter with a sequential integer (12345679), the analyst successfully modified the profile data (weight, height) of an external, unauthorized account, confirming the Cross-Tenant IDOR.user_id header value against the user_id extracted and verified from the JWT payload, returning an HTTP 403 Forbidden error upon mismatch. Additional security measures included migrating all endpoints to mandatory TLS 1.3 and implementing a restrictive rate limit (60 requests per minute per IP).