The GO SMS Pro application is a popular messenger app with over 100 million downloads and was discovered to publicly expose media transferred between users of the app. This exposure includes private voice messages, video messages, and photos. This means any sensitive media shared between users of this messenger app is at risk of being compromised by an unauthenticated attacker or curious user.
This weakness was discovered on GO SMS Pro v7.91. It is unclear which other versions are affected but we believe this is likely to affect previous and potentially future versions as well. The GO SMS Pro application, like other messenger apps, allows users to send private media to other users as demonstrated below. If the recipient has the GO SMS Pro app on their device, the media would be displayed automatically within the app.
However, if the recipient does not have the GO SMS Pro app installed, the media file is sent to the recipient as a URL via SMS. The user could then click on the link and view the media file via a browser.
SpiderLabs found that accessing the link was possible without any authentication or authorization, meaning that any user with the link is able to view the content. In addition, the URL link was sequential (hexadecimal) and predictable. Furthermore, when sharing media files, a link will be generated regardless of the recipient having the app installed. As a result, a malicious user could potentially access any media files sent via this service and also any that are sent in the future. This obviously impacts the confidentiality of media content sent via this application.
The following demonstrates how an attacker could abuse this weakness to view other users’ media content without authorization:
When a recipient receives an SMS text containing a media URL link sent from this app, the text message appears as follows:
"I sent you an audio clip: http://gs.3g.cn/D/dd1efd/w<gof=Ah7v>"
Browsing to http://gs.3g.cn/D/dd1efd/w would allow the recipient to view the voice message. However, by incrementing the value in the URL, it is possible to view or listen to other media messages shared between other users. For example, accessing http://gs.3g.cn/D/e3a6b4/w would show a photo of a fake driver’s license [sample license showed].
To demonstrate how an attacker could easily steal masses of user data, a simple bash script could be used to generate a sample list of URLs.
#!/bin/bash
(echo obase=16; seq 1 $((echo ibase=16; echo FF) | bc)) | bc > 1
for i in $(cat 1); do echo "http://gs.3g.cn/D/dd1a$i /w"; done | tr -d " "
By taking the generated URLs and pasting them into the multi-tab extension on Chrome or Firefox, it is trivial to access private (and potentially sensitive) media files sent by users of this application.
Trustwave attempted to contact the vendor multiple times since 18 August 2020 but did not receive any response. As such, this vulnerability is still present and presents a risk to users. It is highly recommended to avoid sending media files that you expect to remain private or that may contain sensitive data using this popular messenger app, at least until the vendor acknowledges this vulnerability and remediates it.