OPEN REDIRECT ON FIREBASE DYNAMIC LINK AFFECTING OVER 100 COMPANIES
Hello guys,
I was looking at some javascript files of some website with a bug bounty program.we'll call it redacted.com
I grepped for http and https protocols.One of the https links that resembled :https://redacted.page.link/?link=https://redacted.com
i immediately knew it was a firebase dynamic link and got curious with the second redacted.com url.After replacing the second url with google.com i got redirected to google.
Win! Open redirect confirmed.
Dynamic links are deeplinks that allow you to send an application user or potential users to any part of the application.
You can read about firebase dynamic link here https://firebase.google.com/docs/dynamic-links
I reported to the company and was paid in under 3 hours.
After that i remembered i had encountered some companies using firebase during my normal pentests and bug hunting so i decided to check the sites/app.
I decided to FUZZ all h1 programs for the misconfiguration.Fired burp intruder and replaced the first url with a wordlist containing h1 programs names.If i got 302 then the site was vulnerable to open redirect ,400 meant the company was not using firebase,404 meant the company had firebase dynamic link but it was not misconfigured.
I got 73 vulnerable programs and submitted 16 of them.
I looked for programs with open redirect in scope and submitted them.4 got paid.12 got closed as N/A and informative.
Woke up next day disappointed by the N/As from h1 and decided to look for the same misconfiguration on external programs.
With the help of google dorks and some script i wrote i got 3k programs.Using the same fuzzing techniques with the burp intruder i got 160 vulnerable companies.
I wrote a sample report template,replaced company names appropriately and Reported to all them.
Some companies considered it a LOW and paid as low as $50 ,others medium.some programs have not replied during the writing of this post.
FIX
Implement a whitelist of domains on the firebase console as described in the documentation.https://support.google.com/firebase/answer/9021429

Comments
Post a Comment