A critical vulnerability in Coinbase has been disclosed by a security researcher (Tree of Alpha) and netted a $250,000 that could have allowed a user to ‘sell’ currency they did not own.
Alpha discovered that they were able to trade cryptocurrency that wasn’t theirs due to a missing logic validation check in a Retail Brokerage API endpoint, which allowed a user to submit trades to a specific order book using a mismatched source account. Allowing an attacker to steal unlimited cryptocurrency from the platform.
A user has an account with 100 SHIB, and a second account with 0 BTC. The user submits a market order to the BTC-USD order book to sell 100 BTC, but manually edits their API request to specify their SHIB account as the source of funds.
The validation service would check to determine whether the source account had a sufficient balance to complete the trade, but not whether the source account matched the proposed asset for submitting the trade. A market order to sell 100 BTC on the BTC-USD order book would be entered on the Coinbase Exchange.
Coinbase responded and the bug was fixed in less than six hours, with the exchange “conclusively determining” that it had never been maliciously exploited. This API is only utilized by our Retail Advanced Trading platform, which is currently in limited beta release. There were mitigating factors that would have limited the impact of this flaw had it been exploited at scale.
Thanks to the researcher who responsibly disclosed this issue, Coinbase was able to fix this bug in a matter of hours, and conclusively determine that it has never been maliciously exploited. We have also implemented additional checks to ensure that it cannot happen again.CoinBase Statement