Android has taken another step to cement its place behind Java in the world of repeatedly-vulnerable software, with German group Curesec discovering that an attacker can get past users' PINs to unlock the phone.
In fact, the Curesec post states, the bug – present in Android 4.0 to 4.3 but not 4.4 – exposes any locking technique: PINs, passwords, gestures or facial recognition.
“The bug exists on the 'com.android.settings. ChooseLockGeneric class'. This class is used to allow the user to modify the type of lock mechanism the device should have,” Curesec writes.
A user changing the type of lock they're using should have to enter their previous lock – so if you swap from PIN to gesture, you would have to provide your PIN before Android allows the change.
The problem is that the program flow in the ChooseLockGeneric class lets an attacker bypass the confirmation:
“We can control the flow to reach the updatePreferencesOrFinish() method and see that IF we provide a Password Type the flow continues to updateUnlockMethodAndFinish(),” the post states. “Above we can see that IF the password is of type PASSWORD_QUALITY_UNSPECIFIED the code that gets executed and effectively unblocks the device.
“As a result, any rogue app can at any time remove all existing locks.”
Curesec has proof-of-concept code in its post. The bug has been designated CVE-2013-6271, and Curesec says it decided to go public after the Android Security Team stopped responding to its e-mails about the issue. ®