beep: Sicherheitslücke im Piepstool für Linux
Das Kommandozeilentool "beep" dient eigentlich nur dazu, einen Piepston auf dem PC-Speaker auszugeben. Doch jetzt wurde eine Sicherheitslücke darin entdeckt - mit der man Root-Rechte erlangen kann.

Manchmal finden sich Sicherheitslücken an Stellen, an denen wohl kaum jemand damit gerechnet hat. Aus einem Security-Advisory von Debian geht hervor, dass das Kommandozeilentool beep aufgrund einer Race Condition eine Rechteausweitung erlaubt. Dabei hat das Tool nur einen sehr simplen Zweck: Es gibt einen oder mehrere Piepstöne mit einer definierten Frequenz und Länge aus.
Details sind in dem Advisory nicht zu finden. Parallel wurde eine Webseite mit dem Namen Holey Beep samt Logo und FAQ veröffentlicht, allerdings handelt es sich dabei um einen Scherz. Eine Erklärung der Lücke findet sich auch dort nicht. Auch unter der CVE-Id CVE-2018-0492 finden sich bisher keine weiteren Infos.
Beep als Setuid Root installiert
Aus den spärlichen Informationen kann man jedoch einige Rückschlüsse ziehen. Unter Debian wird beep als Setuid Root installiert. Das bedeutet, dass der Prozess auch dann, wenn ein Nutzer ihn ausführt, mit Root-Rechten läuft. Solche Rechte sind für einige Tools nötig, allerdings sind sie immer ein gewisses Risiko. Sollte es einem Nutzer gelingen, ein Tool mit Setuid Root dazu zu bringen, eine Shell zu öffnen oder beliebigen Code auszuführen, kann er damit Root-Rechte erlangen. Daher sollten solche Tools immer sehr intensiv auf mögliche unerwünschte Eigenschaften geprüft werden.
Das beep-Tool wird unter Debian mit Setuid Root installiert, da die Piepstöne nicht über die normale Soundkarte ausgegeben werden, sondern über den klassischen PC-Speaker. Diesen kann man jedoch, wie die Dokumentation von beep erklärt, nur dann ansteuern, wenn man entweder Root ist oder Direktzugriff auf das sogenannte tty-Gerät hat. Das haben aber nur Nutzer, die sich direkt auf der Konsole einloggen; aus einem grafischen Terminal oder über eine Remote-Session kann man darauf nicht zugreifen.
Einen Hinweis auf die Lücke gibt die Dokumentation bereits: So wird erwähnt, dass es beim Zugriff auf das Konsolendevice eine Race Condition gibt, allerdings sei nicht davon auszugehen, dass man diese ausnutzen könne. Doch hier hat der Autor wohl etwas übersehen: Denn man kann über die Kommandozeile ein anderes Konsolendevice angeben - oder auch eine beliebige Datei. Vermutlich lässt sich darüber beep austricksen und dazu bringen, einem Root-Rechte zu verschaffen.
Eine aktualisierte Version von beep gibt es nicht, die letzte Version 1.3 wurde im Jahr 2010 veröffentlicht. Der Patch, der von Debian verwendet wird, findet sich jedoch inzwischen im Bugtracker von beep auf Github. Eine andere Möglichkeit, sich zu schützen, ist es natürlich, beep einfach zu deinstallieren. Viele moderne Systeme haben sowieso keinen PC-Speaker mehr eingebaut - und beep funktioniert schlicht nicht.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Auch bei Linux Mint oder Artix Linux nicht installiert. Der Nutzen des Tools ist wohl auf...
Es sind also nur diejenigen betroffen, die sich beep explizit installiert haben. Aus...
Glücklicherweise ist das bei mir nicht installiert. Die Betreiber von Headless-Servern...
Es gibt keine aktualisierte Version im öffentlichen Repository. Es ist durchaus üblich...