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.

Artikel veröffentlicht am , Hanno Böck
Ein PC-Speaker kann simple Piepstöne in verschiedenen Frequenzen ausgeben - das dafür zuständige Linux-Kommandozielentool weist jetzt eine Sicherheitslücke auf.
Ein PC-Speaker kann simple Piepstöne in verschiedenen Frequenzen ausgeben - das dafür zuständige Linux-Kommandozielentool weist jetzt eine Sicherheitslücke auf. (Bild: Hanz Haase/Wikimedia Commons/CC-BY-SA 3.0)

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.

Stellenmarkt
  1. IT-Controller (m/w/d)
    Verlag C.H.BECK, München Schwabing
  2. Network Architect / Network Engineer (m/w/d)
    IF-TECH AG, Passau, Ansbach, München
Detailsuche

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.

Golem Karrierewelt
  1. Einführung in Unity: virtueller Ein-Tages-Workshop
    21.06.2022, Virtuell
  2. IT-Sicherheit für Webentwickler: virtueller Zwei-Tage-Workshop
    14./15.06.2022, Virtuell
Weitere IT-Trainings

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


recluce 05. Apr 2018

Auch bei Linux Mint oder Artix Linux nicht installiert. Der Nutzen des Tools ist wohl auf...

EQuatschBob 05. Apr 2018

Es sind also nur diejenigen betroffen, die sich beep explizit installiert haben. Aus...

daydreamer42 05. Apr 2018

Glücklicherweise ist das bei mir nicht installiert. Die Betreiber von Headless-Servern...

kayozz 05. Apr 2018

Es gibt keine aktualisierte Version im öffentlichen Repository. Es ist durchaus üblich...



Aktuell auf der Startseite von Golem.de
Prehistoric Planet
Danke, Apple, für so grandiose Dinosaurier!

Musik von Hans Zimmer, dazu David Attenborough als Sprecher: Apples Prehistoric Planet hat einen Kindheitstraum zum Leben erweckt.
Ein IMHO von Marc Sauter

Prehistoric Planet: Danke, Apple, für so grandiose Dinosaurier!
Artikel
  1. Star Wars: Cal Kestis kämpft in Jedi Survivor weiter
    Star Wars
    Cal Kestis kämpft in Jedi Survivor weiter

    EA hat offiziell den Nachfolger zu Star Wars Jedi Fallen Order angekündigt. Hauptfigur ist erneut Cal Kestis mit seinem Roboterkumpel BD-1.

  2. Fahrgastverband Pro Bahn: Wo das 9-Euro-Ticket sicher gilt
    Fahrgastverband Pro Bahn
    Wo das 9-Euro-Ticket sicher gilt

    Die Farbe der Züge ist entscheidend, was bei der Reiseplanung in der Deutsche-Bahn-App wenig nützt. Dafür laufen Fahrscheinkontrollen ins Leere.

  3. Retro Gaming: Wie man einen Emulator programmiert
    Retro Gaming
    Wie man einen Emulator programmiert

    Warum nicht mal selbst einen Emulator programmieren? Das ist lehrreich und macht Spaß - wenn er funktioniert. Wie es geht, zeigen wir am Gameboy.
    Von Johannes Hiltscher

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • PS5 evtl. bestellbar • Prime Video: Filme leihen für 0,99€ • Gigabyte RTX 3080 12GB günstig wie nie: 1.024€ • MSI Gaming-Monitor 32" 4K günstig wie nie: 999€ • Mindstar (u. a. AMD Ryzen 5 5600 179€, Palit RTX 3070 GamingPro 669€) • Days of Play (u. a. PS5-Controller 49,99€) [Werbung]
    •  /