Therefore I reverse engineered two apps that are dating.

Therefore I reverse engineered two apps that are dating.

And I also got a session that is zero-click along with other enjoyable weaknesses

Wen this article I show a few of my findings throughout the engineering that is reverse of apps Coffee Meets Bagel in addition to League. We have identified a few critical weaknesses through the research, every one of which have now been reported into the vendors that are affected.


Within these unprecedented times, greater numbers of individuals are escaping in to the electronic globe to deal with social distancing. Of these right times cyber-security is more crucial than in the past. From my restricted experience, really few startups are mindful of security guidelines. The firms accountable for a range that is large of apps are no exclusion. We began this small scientific study to see exactly just just how secure the dating apps that are latest are.

Accountable disclosure

All high severity weaknesses disclosed in this article happen reported into the vendors. By the period of publishing, matching i thought about tids patches have now been released, and I also have individually confirmed that the repairs come in destination.

I shall perhaps perhaps perhaps not offer details to their APIs that is proprietary unless.

The prospect apps

We picked two popular dating apps available on iOS and Android os.

Coffee Suits Bagel

Coffee suits Bagel or CMB for brief, established in 2012, is renowned for showing users a number that is limited of every single day. They are hacked as soon as in 2019, with 6 million records taken. Leaked information included a name that is full current email address, age, enrollment date, and sex. CMB happens to be popularity that is gaining the past few years, and makes an excellent prospect with this task.

The League

The tagline for The League application is intelligently” that is“date. Launched time in 2015, it really is an app that is members-only with acceptance and fits according to LinkedIn and Twitter pages. The software is much more costly and selective than its options, it is protection on par utilizing the price?

Testing methodologies

I take advantage of a mix of fixed analysis and analysis that is dynamic reverse engineering. For fixed analysis we decompile the APK, mostly utilizing apktool and jadx. For powerful analysis an MITM is used by me system proxy with SSL proxy capabilities.

Most of the screening is performed in a very rooted Android emulator running Android os 8 Oreo. Tests that need more capabilities are done on a genuine Android os unit operating Lineage OS 16 (considering Android os Pie), rooted with Magisk.

Findings on CMB

Both apps have complete large amount of trackers and telemetry, but i suppose this is certainly simply hawaii regarding the industry. CMB has more trackers compared to the League though.

See whom disliked you on CMB using this one trick that is simple

The API includes a pair_action industry in every bagel object and it’s also an enum with all the values that are following

There is an API that offered a bagel ID returns the object that is bagel. The bagel ID is shown into the batch of day-to-day bagels. Therefore should you want to see if somebody has refused you, you can decide to try the next:

This really is a benign vulnerability, however it is funny that this industry is exposed through the API it is unavailable through the software.

Geolocation information drip, not actually

CMB shows other users’ longitude and latitude up to 2 decimal places, that is around 1 square mile. Luckily this given info is perhaps maybe not real-time, which is just updated whenever a person chooses to upgrade their location. (we imagine this is employed by the application for matchmaking purposes. We have perhaps maybe not verified this theory.)

But, this field is thought by me might be concealed through the reaction.

Findings on The League

Client-side produced verification tokens

The League does one thing pretty unusual inside their login flow:

The UUID that becomes the bearer is completely client-side generated. Even even Worse, the host will not validate that the bearer value is a real legitimate UUID. It may cause collisions as well as other dilemmas.

I will suggest changing the login model so that the token that is bearer created server-side and delivered to the client after the host gets the appropriate OTP through the customer.

Telephone number drip with an unauthenticated API

Into the League there is an unauthenticated api that accepts a phone number as question parameter. The API leakages information in HTTP reaction code. As soon as the contact number is registered, it comes back 200 okay , nevertheless when the quantity is certainly not registered, it comes back 418 we’m a teapot . It may be mistreated in a couple of means, e.g. mapping all of the figures under a location rule to see that is in the League and that is perhaps not. Or it may trigger prospective embarrassment whenever your coworker realizes you’re in the application.

It has because been fixed if the bug had been reported towards the merchant. Now the API merely returns 200 for many demands.

LinkedIn task details

The League integrates with LinkedIn to demonstrate a user’s boss and task name on the profile. Sometimes it goes a bit overboard collecting information. The profile API comes back job that is detailed information scraped from LinkedIn, just like the begin year, end 12 months, etc.

Even though the software does ask individual authorization to see LinkedIn profile, an individual most likely will not expect the detail by detail place information become incorporated into their profile for everybody else to look at. I really do perhaps perhaps not believe that sort of info is required for the application to work, and it will oftimes be excluded from profile information.

Leave a Reply

Your email address will not be published. Required fields are marked *