Security Experts:

Flaws in Venmo Payment App Allowed Hackers to Steal Money

The PayPal-owned free digital wallet service Venmo was plagued by some serious vulnerabilities that could have been exploited to steal money from users’ accounts.

Venmo allows users to easily send money, make purchases and share payments with friends. The mobile app can be used to charge friends and they get notifications about the pending payment until they authorize it.

Security researcher Martin Vigo noticed an optional SMS-based feature that allowed users to authorize payments simply by replying to a text message with a provided 6-digit code. The expert determined that an attacker with physical access to a Venmo user’s iPhone could easily steal money from that user’s account.

The attack was possible due to a couple of iOS features: the Siri feature that allows users to reply to text messages from a locked device, and the text message preview feature that displays part of an SMS on the locked device’s screen. Both these features are enabled by default.

A hacker could have sent a payment request to a targeted user, and if they had access to the victim’s locked device, they could have used Siri to send the approval code displayed on the screen. The maximum amount of money an attacker could have stolen from one user was $2,999.99 per week, which is the weekly limit set by the developer.

The researcher noticed that the SMS reply-to-pay feature was not enabled by default in Venmo, but he discovered that it could be easily enabled by sending the message “START” to a short number used by the service.

After being notified by Vigo, Venmo developers attempted to address the vulnerability by adding spaces to the text message containing the payment authorization code so that the digits would not be displayed by the iOS text preview feature. However, the expert found a way to bypass this fix by getting Siri to read the text message even with the device locked.

While this attack method could be easily blocked by disabling Siri in the lock screen and the SMS preview feature, Vigo also found a way to steal money remotely, without needing access to the targeted user’s device.

The method leveraged by the expert involved brute-forcing the 6-digit authorization code. However, Venmo had implemented a rate-limiting mechanism that allowed users to try only up to five codes every five minutes — testing the one million possible combinations would take too much time.

Further analysis showed that each charge request had its own authorization code and generating a new request did not invalidate the previous code. This enabled an attacker to send multiple requests to a single victim or a single request to multiple victims in an effort to increase their chances of finding the right authorization code. The first method was noisy as each request generated its own notification, but the second method might have been more effective, especially since there was a user enumeration flaw that could have been exploited to obtain the emails or phone numbers of Venmo users through a simple script.

A hacker could have sent a charge request to one million Venmo users and then send a text to the payment service with the same code for all of the one million requests. Since each code would need to appear as if it was coming from the victim’s number, the attacker had to spoof the phone number when sending the authorization code via SMS.

Vigo did not test this method and Venmo initially argued that an attack was not possible due to several reasons, including the fact that spoofed SMS messages could not be sent to the company’s short number, rate limiting mechanisms that should prevent user enumeration, and daily rate limitations on the number of charge requests.

However, the researcher noted that each of these could be bypassed: spoofed SMSs can be sent directly to the real number associated with the short code, and rate limitations can be bypassed via multiple IP addresses and user accounts.

Ultimately, Venmo developers decided to remove the SMS-based reply-to-pay functionality in order to prevent attacks. The company was first notified on June 1 and it informed the researcher about the final patches on July 18.

Last year, Vigo and researcher Alberto Garcia Illera disclosed a series of vulnerabilities and design issues affecting the popular password manager LastPass.

Related: Major Enterprise Software Products Affected by Flaws in Oracle SDKs

Related: Security Product Flaws Allow Attackers to Compromise Systems

view counter
Eduard Kovacs (@EduardKovacs) is a contributing editor at SecurityWeek. He worked as a high school IT teacher for two years before starting a career in journalism as Softpedia’s security news reporter. Eduard holds a bachelor’s degree in industrial informatics and a master’s degree in computer techniques applied in electrical engineering.