Under the microscope: The bug that caught PayPal with its pants down
Payment giant suffers textbook SQL injection flaw
Security researchers have published a more complete rundown of a recently patched SQL injection flaw on PayPal's website.
The Vulnerability Laboratory research team received a $3,000 reward after discovering a remote SQL injection web vulnerability in the official PayPal GP+ Web Application Service. The critical flaw, which could have been remotely exploitable, allowed hackers to inject commands through the vulnerable web app into the backend databases, potentially tricking them into coughing up sensitive data in the process.
The Polish security researchers reported the vulnerability to the eBay subsidiary in early January. Vulnerability Laboratory produced a proof-of-concept demo to illustrate its concerns when it reported the vulnerability to PayPal. The payment-processing outfit patched the flaw in late January.
There's no evidence that the flaw was ever abused, which is just as well since its potential impact was grave, as an advisory by Vulnerability Laboratory (extract below) explains:
The vulnerability is located in the analysis all review module with the bound vulnerable page id parameter listing. When a customer is processing to request the link to, for example, page 7 the server will include the integer value not encoded or parsed in the URL path. Attackers can exchange the integer page with their own SQL statements to compromise the application DBMS and all PayPal accounts.
The second problem is the server is bound to the main site auth which allows after a SQL and DBMS compromise via inject to exploit the bound PayPal inc services. Attackers can access all database tables and columns to steal the GP+ database content and disclose information, deface the website phish account or extract database password/username information.
The vulnerability can be exploited without user inter action but with low privileged application user account to visit the restricted webpage with a not expired session. Successful exploitation of the vulnerability results in web application context manipulation via DBMS injection, website defacement, hijack of database accounts via DBMS extract, information disclosure of database content, data lost or full DBMS compromise.
Benjamin Kunz Mejri of Vulnerability Laboratory led the research into the flaw. An advisory by the Polish researchers suggests that the vulnerability could be patched by a "secure parse of the page parameter request when processing to list via GET method" combined with changes to prevent the display of errors. It's unclear if PayPal followed this approach or identified a different way to nuke the flaw.
PayPal issued a brief and bland statement confirming that the flaw was "not impacting our website" at the time the payout for the vulnerability became public in late January. PayPal declined El Reg's invitation this week to comment on Vulnerability Laboratory's updated advisory. ®