Therefore I reverse engineered two apps that are dating.


Therefore I reverse engineered two apps that are dating.

Photo and video clip drip through misconfigured S3 buckets

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

One of the keys would act as a “password” to gain access to the file, in addition to password would simply be provided users whom require usage of the image. When it comes to an app that is dating it is whoever the profile is presented to.

We have identified several misconfigured buckets that are s3 The League through the research. All photos and videos are inadvertently made general general general public, with metadata such as which user uploaded them so when. Ordinarily the software would have the pictures through Cloudfront, a CDN on top regarding the S3 buckets. Unfortunately the underlying S3 buckets are severely misconfigured.

Side note: in so far as i can inform, the profile UUID is arbitrarily produced server-side if the profile is established. To ensure that part is not likely to be really easy to imagine. The filename is managed by the customer; any filename is accepted by the server. In your client app its hardcoded to upload.jpg .

The seller has since disabled listObjects that are public. Nonetheless, we still think there must be some randomness when you look at the key. A timestamp cannot act as key.

internet protocol address doxing through website link previews

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

The League makes use of link that is recipient-side. When a note includes a hyperlink to a outside image, the hyperlink is fetched on user’s unit once the message is seen. This could efficiently enable a sender that is harmful submit an external image URL pointing to an attacker managed host, obtaining recipient’s internet protocol address as soon as the message is exposed.

A much better solution may be merely to attach the image into the message when it’s delivered (sender-side preview), or have actually the server fetch the image and place it within the message (server-side preview). Server-side previews enables anti-abuse scanning that is additional. It might be a significantly better choice, but nevertheless maybe maybe perhaps not bulletproof.

Zero-click session hijacking through talk

The application will attach the authorization sometimes header to needs which do not need verification, such as for example Cloudfront GET demands. It will happily hand out the bearer token in requests to domains that are external some situations.

One particular situations could be the outside image website link in chat messages. We already know just the application makes use of link that is recipient-side, and also the demand to your outside resource is performed in recipient’s context. The authorization header is roofed within the GET demand into the image that is external. Therefore the bearer token gets leaked to your domain that is external. Whenever a sender that is malicious a graphic website website website link pointing to an attacker managed host, not just do they get recipient’s internet protocol address, nonetheless they additionally obtain victim’s session token. This can be a critical vulnerability as it permits session hijacking.

Remember that unlike phishing, this assault will not need the target to click the website website link. As soon as the message containing the image website website link is seen, the application immediately leaks the session token towards the attacker.

This indicates to become a bug regarding the reuse of a okHttp client object that is global. It might be most readily useful if the developers ensure that the software just attaches authorization bearer header in demands towards the League API.


I didn’t find any specially interesting weaknesses in CMB, but that will not suggest CMB is more safe compared to the 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 learn or exploit. I suppose it truly is the typical errors individuals make over repeatedly. OWASP top anybody?

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

Vendor’s reaction

Used to do be given a prompt reaction from The League after giving them a contact alerting them for the findings. The bucket that is s3 ended up being swiftly fixed. One other weaknesses had been patched or at the very least mitigated in just a weeks that are few.

I believe startups could offer bug bounties certainly. It really is a good motion, and even more importantly, platforms like HackerOne offer scientists an appropriate way to the disclosure of weaknesses. Regrettably neither of this two apps within the post has program that is such.

Limits and research that is future

This scientific studies are perhaps maybe perhaps not comprehensive, and may never be viewed as a protection review. All of the tests on this page had been done regarding the system IO degree, and almost no on the customer it self. Particularly, we did not test for remote rule execution or buffer overflow kind vulnerabilities. In future research, we’re able to look more in to the protection for the customer applications.

This might be finished with powerful analysis, utilizing practices such as for instance:

Leave a Comment

Your email address will not be published.