Schlagwort: sudo

  • Zwei Sicherheitslücken in Sudo entdeckt

    Sudo wird von fast allen Linux-Distributionen verwendet, um Prozesse mit den Rechten eines anderen Benutzers, meist dem Superuser root, auszuführen. Bereits häufiger war Sudo von Sicherheitslücken betroffen. Jetzt wurden zwei Schwachstellen entdeckt, von denen eine bereits 2011 eingeschleppt wurde. Die beiden Lücken wurden als CVE-2021-3156 und CVE-2021-23239 katalogisiert. Die Erste der beiden Lücken hat einen CVSS-Score von 7.0 was der allgemeinen Einordnung als high entspricht, die Zweite hat einen Score von 2,5, was als low einzuordnen ist

    Pufferüberlauf

    Bei der von Sicherheitsforschern von Qualsys entdeckten Schwachstelle CVE-2021-3156 handelt es sich um einen Heap-Based Buffer Overflow, also einen Überlauf in der dynamischen Speicherverwaltung. Es wurde entdeckt, dass Sudo beim Parsen von Befehlszeilen den Speicher nicht korrekt behandelt. Ein lokaler Angreifer, egal ob mit Sudo-Rechten ausgestattet oder nicht, könnte dieses Problem ohne Authentifizierung ausnutzen, um unbeabsichtigten Zugriff auf das Administratorkonto erhalten. Betroffen sind die älteren Versionen von 1.82 – 1.8.31p2 und aktuelle Versionen von 1.9.0 – 1.9.5p1. Somit sind alle aktuellen Ausgaben von Distributionen betroffen, die Sudo einsetzen. Darunter sind Ubuntu 20.04 LTS und 20.10, Fedora 33 und Debian 10 sowie RHEL und SUSE Enterprise.

    Sudoedit

    Bei der zweiten Schwachstelle CVE-2021-23239 kann ein lokaler Angreifer in der Komponente sudoedit
    eine Race Condition auslösen, die bei der Überprüfung von Verzeichnisberechtigungen dazu führt, dass Dateirechte umgangen werden. Ein lokaler Angreifer könnte dieses Problem ausnutzen, Dateirechte zu umgehen, um festzustellen, ob ein Verzeichnis existiert oder nicht.

    Zeitnah aktualisieren!

    Zum jetzigen Zeitpunkt haben Arch, Ubuntu, Debian, FreeBSD, Fedora und Red Hat und andere die Lücken bereits geschlossen. Nutzer sind dringend aufgefordert, ihre Systeme sobald als möglich zu aktualisieren und eine angebotene Sudo-Version höher als 1.9.5p1 einzuspielen. Eine Alternative zu Sudo kann doas sein.

  • Linux-Rechtemanagement: Sudo durch Doas ersetzen

    Root werden mit Doas | Bild: Unsplash

    Sudo ist ein mächtiger Befehl, der Administratoren in die Lage versetzt, aufwändige Systemadministrations-Infrastrukturen mit verfeinerten Berechtigungen und Kontrollmechanismen aufzubauen. so lässt sich unter anderem fein granuliert festlegen, wer welche Befehle damit ausführen darf. So kann man einem User oder einer Gruppe erlauben, das System zu aktualisieren, ihm aber verwehren, Konfigurationsdateien in /etc zu editieren und vieles mehr.

    Sudo überdimensioniert

    Für Desktop-Einzelplatzsysteme ist Sudo in den allermeisten Fällen völlig überdimensioniert, denn dort geht es meist nur um zeitweise Root-Rechte für die Systemadministration. Dabei kann der unbedarfte Anwender bei falschen Einträgen in der umfangreichen Sudoers-Konfigurationsdatei leicht die Sicherheit des Systems unbemerkt schwächen. Mit der zunehmenden Verbreitung von Ubuntu ab 2005 kam Sudo auf Desktop-Systemen immer mehr in Mode und setzte sich mit der Zeit durch. Viele Distributionen, die früher einen echten Root verwendeten, liefern heute Sudo standardmäßig aus.

    Mehr Übersicht

    Bei OpenBSD wurde vor rund 5 Jahren doas als einfacher Ersatz für Sudo entwickelt und wird mittlerweile bei einigen BSD-Distributionen als Standard eingesetzt. Im Vergleich zu den rund 3,4 MByte, die Sudo belegt, ist doas mit 40 KByte um einiges kleiner. Ist die Konfigurationsdatei bei Sudo ziemlich überladen und für Neueinsteiger unübersichtlich, so reicht bei doas für die allermeisten Fälle eine Zeile, auch bei Mehrbenutzersystemen. Mit doas lassen sich bei Bedarf aber auch komplexer gegliederte Berechtigungssysteme erstellen. Der Code von doas wird auf Github gepflegt und ist schnell mit make und make install oder checkinstall gebaut.

    Anschließend wird (falls die Distribution keine bietet) als Root eine Konfigurationsdatei mit nano /etc/doas.conf (oder dem Editor eurer Wahl) erstellt und anschließend im einfachsten Fall mit der Zeile permit [user] as root versehen, wobei [user] durch den zu berechtigenden User ersetzt wird. Damit lassen sich Befehle einfach als Root ausführen, indem man dem Befehl doas voranstellt anstelle von sudo.

    Mit oder ohne Passwort

    Wird doas kurz darauf wieder verwendet, wird das Passwort erneut abgefragt und nicht wie bei Sudo für eine Weile gespeichert. Soll das Passwort gar nicht abgefragt werden, so lautet die Zeile permit nopass [user] as root. Auf Mehrbenutzersystemen werden Mitglieder der Gruppe wheel mit der Zeile permit :wheel autorisiert. Weitere Optionen sind der Manpage zu entnehmen.