Vulnerabilities

IBM Discloses Details of Critical Android Flaw Patched by Google

IBM researchers uncovered a critical vulnerability affecting everyone not running the most up-to-date version of Google Android.

<p><span><strong>IBM researchers uncovered a critical vulnerability affecting everyone not running the most up-to-date version of Google Android.</strong></span></p>

IBM researchers uncovered a critical vulnerability affecting everyone not running the most up-to-date version of Google Android.

The vulnerability is patched in the latest version of Android (version 4.4, also known as KitKat), but affects versions 4.3 and earlier. According to IBM, the issue is contained in Android’s KeyStore storage service, which is responsible for storing cryptographic keys. If exploited, an attacker could use the vulnerability to create a stack-based buffer overflow and ultimately executed code.

After exploitation, an attacker could leak the device’s lock credentials as well as decrypted and encrypted master keys, data and hardware-backed key identifiers. An attacker could also interact with the hardware-backed storage and perform crypto operations on behalf of the user, according to IBM.

“A stack buffer is created by the ‘KeyStore::getKeyForName’ method,” explained IBM researcher Roee Hay in a blog post. “This function has several callers, which are accessible by external applications using the Binder interface (e.g., ‘android::KeyStoreProxy::get’). Therefore, the ‘keyName’ variable can be controllable with an arbitrary size by a malicious application.”

While this could be accomplished with a malicious application, a working exploit would need to overcome a number of obstacles, including data execution prevention (DEP) and address space layout randomization (ASLR). An attacker would also need to overcome stack canaries and the fact that characters below 0×30 (’0′) or above 0x7e (‘~’) are encoded before being written on the buffer.

However, the Android KeyStore is respawned every time it terminates, Hay blogged.

“This behavior enables a probabilistic approach; moreover, the attacker may even theoretically abuse ASLR to defeat the encoding,” he added.

According to Google, as of June 4, roughly 13.6 percent of Android users are on KitKat. The largest percentage (roughly 58 percent) of users is on Android versions 4.1, 4.2 and 4.3. 

Advertisement. Scroll to continue reading.

IBM reported the vulnerability to Google in September of 2013. Google’s Android security team confirmed a fix two months later. 

“As always, we adhered to our responsible disclosure policy and privately reported this issue to the Android Security Team; the result is a patch that is now available in KitKat,” Hay blogged. “Considering Android’s fragmented nature and the fact that this was a code-execution vulnerability, we decided to wait a bit with the public disclosure.”

Related Content

Copyright © 2024 SecurityWeek ®, a Wired Business Media Publication. All Rights Reserved.

Exit mobile version