A security researcher discovered a high-severity bug affecting PayPal’s most visited pages: the login form.
According to security researcher Alex Birsan, while exploring PayPal’s main authentication flow, he noticed a javascript file containing what appeared to be a CSRF token and a session ID. This, he says, immediately drew his attention, "because providing any kind of session data inside a valid javascript file usually allows it to be retrieved by attackers. In what is known as a cross-site script inclusion (XSSI) attack, a malicious web page can use an HTML <script>
tag to import a script cross-origin, enabling it to gain access to any data contained within the file."
In addition, Birsan identified a method by which a user, starting from a malicious site, could expose the security challenge token to a third party via a XSSI attack. If the user then followed a login link from the malicious site and entered their credentials, the malicious third party could complete the security challenge, triggering the authentication request replay and exposing the user's password. This exposure only occurred if a user followed a login link from a malicious site, similar to a phishing page.
PayPal later confirmed that a security bug was affecting their login form. "A bug was identified whereby sensitive, unique tokens were being leaked in a JS file used by the recaptcha implementation. In certain cases, a user must solve a CAPTCHA challenge after authenticating. When the security challenge is completed, the authentication request is replayed to log in. The exposed tokens were used in the POST request to solve the CAPTCHA," PayPal notes.
PayPal says that they implemented additional controls on the security challenge request to prevent token reuse, which resolved the issue, and no evidence of abuse was found. PayPal also awarded Birsan with a bounty of $15,300 for finding the vulnerability.
“While the recent PayPal vulnerability illustrates a kind of cyberthreat requiring more sophisticated attack strategies, namely the use of social engineering and phishing, we know from our clients that organizations lack cybersecurity expertise, not only security awareness for users in general. While vendors work on their end to fix vulnerabilities, organizations on their end struggle with a gap in cybersecurity experts which may not be covered even if they have a budget for it," says Rui Lopes, Engineering and Technical Support Manager at Panda Security. "Managed cybersecurity services are more important than ever, as the more sophisticated the attack strategy is (no matter the vector), the more holistic the defense approach will need to be.”
"PayPal worked to release a patch for the vulnerability within 24 hours. This is impressive, especially considering many vulnerabilities can go months, if not years before being patched," says Alex Guirakhoo, Strategy and Research Analyst at Digital Shadows. "It's unknown whether this vulnerability was exploited in the wild. Still, it could have allowed an attacker to gain access to a victim's account by way of an exposed security challenge token. If an attacker had managed to use this vulnerability to harvest user login credentials, criminals could monetize them on criminal marketplaces, forums, and automated vending carts (AVCs). Accounts for banks and other financial platforms like PayPal are highly sought. Criminals can use the financial and personal information they contain for financial fraud, and there are plenty of "how-to" guides available for sale that outline ways to card or cashout PayPal accounts."