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.
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2011-1823
https://exchange.xforce.ibmcloud.com/vulnerabilities/67977
http://xorl.wordpress.com/2011/04/28/android-vold-mpartminors-signedness-issue/
http://forum.xda-developers.com/showthread.php?t=1044765
http://c-skills.blogspot.com/2011/04/yummy-yummy-gingerbreak.html
http://androidcommunity.com/gingerbreak-root-for-gingerbread-app-20110421/