
Lokale Privilegieneskalation für OS X 10.10.5 mittels CVE-2016-1828.
rootsh ist eine lokale Privilegieneskalation, die auf OS X Yosemite 10.10.5 Build 14F27 abzielt. Es nutzt CVE-2016-1758 und CVE-2016-1828 aus, zwei Schwachstellen in XNU, die in OS X El Capitan 10.11.4 und 10.11.5 gepatcht wurden. rootsh funktioniert nicht auf Plattformen mit aktiviertem SMAP.
CVE-2016-1758 ist ein Informationsleck, das durch das Kopieren nicht initialisierter Bytes des Kernel-Stacks in den Benutzerbereich verursacht wird. Durch den Vergleich durchgesickerter Kernel-Zeiger mit festen Referenzadressen ist es möglich, den Kernel-Slide wiederherzustellen.
CVE-2016-1828 ist ein Use-after-Free während der Deserialisierung von Objekten. Indem ein manipuliertes binärserialisiertes Wörterbuch an den Kernel übergeben wird, kann ein virtueller Methodenaufruf auf einem Objekt mit einem kontrollierten vtable-Zeiger ausgelöst werden.
Der rootsh-Code ist der Public Domain freigegeben. Als Höflichkeit bitte ich darum, dass Sie, wenn Sie diesen Code in einem anderen Projekt verwenden, mich als Quelle angeben.