So I reverse engineered two dating apps.

So I reverse engineered two dating apps.

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

On this page I reveal a few of my findings through the engineering that is reverse of apps Coffee Meets Bagel together with League. We have identified a few critical weaknesses throughout the research, most of which have now been reported to your affected vendors.


In these unprecedented times, increasing numbers of people are escaping in to the world that is digital deal with social distancing. Over these times cyber-security is much more essential than ever before. From my experience that is limited few startups are mindful of security recommendations. The businesses in charge of 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 have now been reported to your vendors. By the time of publishing, matching patches have now been released, and I also have actually individually confirmed that the repairs come in spot.

I shall perhaps perhaps not offer details in their proprietary APIs unless appropriate.

The candidate apps

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

Coffee Meets Bagel

Coffee satisfies Bagel or CMB for brief, established in 2012, is renowned for showing users a restricted wide range of matches each and every day. They are hacked when in 2019, with 6 million reports taken. Leaked information included a name that is full email, age, enrollment date, and sex. CMB happens to be popularity that is gaining modern times, and makes a beneficial prospect with this task.

The League

The tagline when it comes to League application is “date intelligently”. Launched a while in 2015, it really is an app that is members-only with acceptance and matches according to LinkedIn and Twitter pages. The application is much more high priced and selective than its options, it is safety on par utilizing the cost?

Testing methodologies

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

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

Findings on CMB

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

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

The API carries a pair_action industry in almost every bagel item and it’s also an enum aided by the values that are following

There is certainly 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 you, you could try the following if you want to see if someone has rejected:

This will be a benign vulnerability, however it is funny that this industry is exposed through the API it is unavailable through the application.

Geolocation information drip, yet not actually

CMB shows other users’ longitude and latitude up to 2 decimal places, that will be around 1 mile that is square. Luckily this info is maybe perhaps not real-time, and it’s also just updated whenever a person chooses to update their location. (we imagine this can be used because of the app for matchmaking purposes. We have maybe maybe maybe not verified this theory.)

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

Findings on The League

Client-side created verification tokens

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

The UUID that becomes the bearer is totally client-side generated. Even even even Worse, the host doesn’t confirm that the bearer value is a real UUID that is valid. It may cause collisions as well as other dilemmas.

I suggest changing the login model so that the bearer token is created server-side and provided for the client after the host gets the right OTP through the client.

Contact number drip through an unauthenticated API

Within the League there is an unauthenticated api that accepts a telephone quantity as question parameter. The API leaks information in HTTP reaction code. Once the contact number is registered, it returns 200 okay , nevertheless when the number just isn’t registered, it returns 418 we’m a teapot . It may be mistreated in a couple of means, e.g. mapping all of the figures under a place rule to see who’s in the League and that is perhaps not. Or it may result in prospective embarrassment whenever your coworker realizes you’re on the software.

It has because been fixed as soon as the bug ended up being reported to your merchant. Now the API merely returns 200 for all needs.

LinkedIn task details

The League integrates with LinkedIn to exhibit a user’s manager and work name on the profile. Often it goes a bit overboard collecting information. The profile API comes back step-by-step work position information scraped from LinkedIn, such as the begin 12 months, end 12 months, etc.

Although the software does ask individual authorization to see LinkedIn profile, the consumer most likely will not expect the detail by detail position information become incorporated into their profile for everybody else to look at. I really do maybe maybe not believe that form of info is required for the software to work, and it may oftimes be excluded from profile information.

Share this post

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *