[Grab Android/iOS] Insecure deeplink leads to sensitive information disclosure

Program: Grab Bug Type: Information Disclosure Bounty: Unspecified Date: 2018-08-28
misconfiguration information-disclosure mobile-pentesting

Summary

The Grab Passenger app exposes a deep link that loads arbitrary web pages inside an internal WebView (ZendeskSupportActivity). This WebView exposes a JavaScript interface named 'Android' with methods like getGrabUser() that return sensitive user data. Because the deep link allows an attacker to specify any URL, they can host a malicious page that calls these exposed methods to steal sensitive information without user consent. The issue arises due to lack of restrictions on loaded URLs and unrestricted access to sensitive native methods via the JavaScript interface.

References