Therefore I reverse engineered two dating apps.

Therefore I reverse engineered two dating apps.

Video and picture drip through misconfigured S3 buckets

Typically for images or other asserts, some form of Access Control List (ACL) could be in position. A common way of implementing ACL would be for assets such as profile pictures

The main element would act as a “password” to get into the file, while the password would simply be offered users whom require use of the image. When it comes to a dating application, it is whoever the profile is presented to.

We have identified several misconfigured S3 buckets on The League through the research. All photos and videos are unintentionally made general public, with metadata such as which user uploaded them so when. Typically the application would obtain the pictures through Cloudfront, a CDN on top for the S3 buckets. Unfortunately the underlying S3 buckets are severely misconfigured.

Side note: as much as i can inform, the profile UUID is arbitrarily created server-side as soon as the profile is made. Making sure that part is unlikely to be very easy to imagine. The filename is managed because of the customer; any filename is accepted by the server. In your client app it’s hardcoded to upload.jpg .

The seller has since disabled general public ListObjects. Nevertheless, we nevertheless think there ought to be some randomness into the key. A timestamp cannot act as key.

internet protocol address doxing through website website website link previews

Link preview is something that is difficult to get appropriate in a complete great deal of messaging apps. You can find typically three approaches for website website link previews:

The League makes use of recipient-side website link previews. Whenever a note includes a web link to a outside image, the hyperlink is fetched on user’s unit as soon as the message is seen. This could efficiently enable a harmful transmitter to send an external image URL pointing to an attacker controlled host, obtaining recipient’s internet protocol address once the message is exposed.

A significantly better solution may be simply to connect the image within the message if it is delivered (sender-side preview), asian dating or have actually the server fetch the image and place it within the message (server-side preview). Server-side previews allows extra anti-abuse scanning. It may be a significantly better choice, yet still maybe maybe perhaps maybe not bulletproof.

Zero-click session hijacking through talk

The application will often connect the authorization header to needs that don’t need verification, such as for instance Cloudfront GET needs. It will likewise happily hand out the bearer token in requests to external domain names in some situations.

Some of those instances could be the image that is external in chat messages. We know the application utilizes recipient-side link previews, in addition to demand towards the outside resource is performed in recipient’s context. The authorization header is roofed when you look at the GET demand to your image that is external. Therefore the bearer token gets leaked towards the outside domain. Each time a harmful transmitter delivers a picture website website website link pointing to an attacker managed host, not merely do they get recipient’s internet protocol address, nevertheless they additionally obtain victim’s session token. This will be a critical vulnerability as it enables session hijacking.

Observe that unlike phishing, this assault doesn’t need the target to go through the website website website link. Once the message containing the image website link is seen, the application immediately leaks the session token towards the attacker.

It appears to be a bug linked to the reuse of a worldwide OkHttp customer object. It might be most readily useful if the designers ensure that the application just attaches authorization bearer header in needs to your League API.


I didn’t find any vulnerabilities that are particularly interesting CMB, but that will not suggest CMB is more safe compared to League. (See Limitations and future research). I did so locate a security that is few within the League, none of that have been especially hard to find out or exploit. I assume it is actually the typical errors individuals make over and over repeatedly. OWASP top anybody?

As customers we must be aware with which companies we trust with your information.

Vendor’s reaction

I did so get a response that is prompt The League after giving them a contact alerting them of this findings. The S3 bucket setup ended up being swiftly fixed. One other weaknesses had been patched or at the least mitigated inside a couple of weeks.

I believe startups could undoubtedly provide bug bounties. It really is a gesture that is nice and much more notably, platforms like HackerOne offer scientists a appropriate way to the disclosure of weaknesses. Regrettably neither regarding the two apps into the post has such system.

Limits and research that is future

This scientific studies are perhaps perhaps not comprehensive, and may never be regarded as a protection review. All of the tests on this page had been done from the community IO degree, and almost no from the customer it self. Particularly, we did not test for remote rule execution or buffer type that is overflow. In future research, we’re able to look more in to the safety associated with client applications.

This might be completed with powerful analysis, making use of practices such as for instance:

Message Us

Follow Our Instagram