Several Bitcoin wallet applications have been upgraded following a serious cryptography problem in Android that could allow attackers to steal the virtual currency.
Four Android Bitcoin clients—Bitcoin Wallet, Blockchain, Mycelium Bitcoin Wallet and BitcoinSpinner—have been fixed, according to an updated notice on Bitcoin.org.
The problem affects Bitcoin applications that rely on an Android component, the Java SecureRandom class, that generates random numbers. Those numbers are used to create transaction signatures that are recorded in the blockchain, which is the public ledger of Bitcoin transfers.
In some cases, the supposedly random numbers were the same for different transactions, which could allow an attacker to determine someone's private key and steal their bitcoins.
Users who may be affected by the problem need to create new private keys for their bitcoins. That can be accomplished by assigning funds to new bitcoin addresses which have been generated by applications that have been patched or ones not affected by the SecureRandom issue.
"This involves generating a new address with a repaired random number generator and then sending all the money in your wallet back to yourself," the Bitcoin.org notice said. "Once your wallet is rotated, you will need to contact anyone who has stored addresses generated by your phone and give them a new one."
Security vendor Symantec wrote on Tuesday that the same kind of random number generator vulnerability "was previously used to break the security of other products, such as the PlayStation 3 master key."
Tens of thousands of other Android applications may be vulnerable, Symantec wrote. The company found more than 360,000 applications that use the SecureRandom class in the same way as the affected Bitcoin applications.
Symantec noted that applications running on Android version 4.2 and up may not be affected since SecureRandom was changed in that version of the mobile OS.