Branch.io Flaws Exposed Tinder, Shopify, Yelp Users to XSS Attacks
18.10.2018 securityweek Vulnerebility
Hundreds of millions of users may have been exposed to cross-site scripting (XSS) attacks due to a vulnerability present in Branch.io, a service used by Tinder, Shopify, Yelp and many others.
Researchers at vpnMentor were analyzing Tinder and other dating applications when they discovered a Tinder domain, go.tinder.com, that had multiple XSS vulnerabilities.
According to vpnMentor, the flaws could have been exploited to access Tinder users’ profiles. However, it’s worth pointing out that exploiting XSS flaws in most cases requires the target to click on a specially crafted link.
After being notified of the vulnerabilities, Tinder’s security team launched an investigation and determined that the go.tinder.com domain was actually an alias for custom.bnc.lt, a resource of Branch.io.
Branch.io is a California-based company whose solutions help organizations create deep links for referral systems, invitations and sharing links for attribution and analytics purposes.
The affected Branch.io resource is used by several other major companies, including Yelp, Western Union, Shopify, RobinHood, Letgo, imgur, Lookout, fair.com and Cuvva, vpnMentor said.
The VPN company’s researchers estimate that the vulnerabilities may have affected as many as 685 million individuals using the impacted services.
While the security holes have been patched and there is no evidence of malicious exploitation, vpnMentor still believes users should change their passwords as a precaution.
As for the flaw, experts said it was a DOM-based XSS that would have been easy to exploit in many web browsers due to Branch.io’s failure to use a Content Security Policy (CSP).
“[DOM-based XSS] is a type of attack wherein the attack payload is executed as a result of modifying the DOM environment in the victim’s browser, more so in a dynamic environment,” vpnMentor said in a blog post. “In DOM-based XSS, the HTML source code and response of the attack will be exactly the same. This means the malicious payload cannot be found in the response, making it extremely difficult for browser-built in XSS mitigation features like Chrome’s XSS Auditor to perform.”