The vold volume manager daemon on Android 3.0 and 2.x before 2.3.4 trusts messages that are received from a PF_NETLINK socket, which allows local users to execute arbitrary code and gain root privileges via a negative index that bypasses a maximum-only signed integer check in the DirectVolume::handlePartitionAdded method, which triggers memory corruption, as demonstrated by Gingerbreak.
android.git.kernel.org/?p=platform/system/core.git;a=commit;h=b620a0b1c7ae486e979826200e8e441605b0a5d6
android.git.kernel.org/?p=platform/system/netd.git;a=commit;h=79b579c92afc08ab12c0a5788d61f2dd2934836f
android.git.kernel.org/?p=platform/system/vold.git;a=commit;h=c51920c82463b240e2be0430849837d6fdc5352e
androidcommunity.com/gingerbreak-root-for-gingerbread-app-20110421/
forum.xda-developers.com/showthread.php?t=1044765
www.androidpolice.com/2011/05/03/google-patches-gingerbreak-exploit-but-dont-worry-we-still-have-root-for-now/
xorl.wordpress.com/2011/04/28/android-vold-mpartminors-signedness-issue/
c-skills.blogspot.com/2011/04/yummy-yummy-gingerbreak.html
exchange.xforce.ibmcloud.com/vulnerabilities/67977