Mehrere Sicherheitslücken im Hotkey-Manager von Wayland gefunden

Vor ein paar Tagen wurde die Nachricht veröffentlicht, dass Eine Reihe von Sicherheitslücken wurden gefunden in swhkd (Simple Wayland HotKey Daemon), verursacht durch falsche Behandlung von temporären Dateien, Befehlszeilenoptionen und Unix-Sockets.

Das Programm ist in Rust geschrieben und behandelt Hotkeys in Umgebungen, die auf dem Wayland-Protokoll basieren (ein mit Konfigurationsdateien kompatibles Analogon des sxhkd-Prozesses, der in X11-basierten Umgebungen verwendet wird). Das Paket enthält einen nicht privilegierten swhks-Prozess, der Aktionen für Hotkeys ausführt, und einen swhkd-Hintergrundprozess, der als Root ausgeführt wird und mit Eingabegeräten auf der uinput-API-Ebene interagiert. Um die Interaktion zwischen swhks und swhkd zu organisieren, wird ein Unix-Socket verwendet.

Die Regeln von Polkit erlauben es jedem lokalen Benutzer, den Prozess /usr/bin/swhkd als root auszuführen und ihm beliebige Parameter zu übergeben.

Die Integration des RPM-Pakets Das für openSUSE eingereichte Tumbleweed enthielt ungewöhnliche Polkit-Regeln in der Definitionsdatei, die eine Überprüfung durch das SUSE-Sicherheitsteam erforderte.

Als Ergebnis der Überprüfung wurden mehrere Sicherheitsprobleme identifiziert. Einzelne Sachverhalte sind im nachstehenden ausführlichen Bericht beschrieben.

Von der Schwachstellen, die identifiziert wurden, werden genannt:

CVE-2022-27815

Diese Sicherheitslücke ermöglicht das Speichern einer Prozess-PID in einer Datei mit einem vorhersagbaren Namen und in einem beschreibbaren Verzeichnis für andere Benutzer (/tmp/swhkd.pid), wobei jeder Benutzer eine /tmp/swhkd.pid-Datei erstellen und die PID eines vorhandenen Prozesses darin ablegen kann, wodurch es unmöglich wird, swhkd zu starten.

In Ermangelung eines Schutzes gegen das Erstellen symbolischer Links in /tmp, Die Schwachstelle kann zum Erstellen oder Überschreiben von Dateien verwendet werden in einem beliebigen Verzeichnis auf dem System (die PID wird in die Datei geschrieben) oder den Inhalt einer beliebigen Datei auf dem System ermitteln (swhkd gibt den gesamten Inhalt der PID-Datei auf stdout aus). Zu beachten ist, dass im veröffentlichten Fix die PID-Datei nicht in das /run-Verzeichnis verschoben wurde, sondern in das /etc-Verzeichnis (/etc/swhkd/runtime/swhkd_{uid}.pid), wo sie auch nicht hingehört .

CVE-2022-27814

Diese Sicherheitslücke ermöglicht es Ihnen, die Befehlszeilenoption "-c" zu manipulieren, um eine Konfigurationsdatei anzugeben kann das Vorhandensein einer beliebigen Datei auf dem System feststellen.

Wie im Fall der ersten Schwachstelle ist die Behebung des Problems rätselhaft: Die Behebung des Problems läuft darauf hinaus, dass das externe "cat"-Dienstprogramm ('Command::new("/bin/cat").arg(path) ist jetzt gestartet, um die Konfigurationsdatei zu lesen.output()').

CVE-2022-27819

Dieses Problem es hängt auch mit der Verwendung der Option "-c" zusammen, die die gesamte Konfigurationsdatei lädt und analysiert, ohne die Größe und den Typ der Datei zu überprüfen.

Um beispielsweise einen Denial-of-Service zu verursachen, weil der freie Speicher knapp wird und Streu-E/A erzeugt wird, können Sie beim Start ein Blockgerät angeben ("pkexec /usr/bin/swhkd -d -c /dev/sda ») oder ein Zeichengerät, das einen unendlichen Datenstrom aussendet.

Das Problem wurde behoben, indem die Berechtigungen vor dem Öffnen der Datei zurückgesetzt wurden, aber die Lösung war nicht vollständig, da nur die Benutzer-ID (UID) zurückgesetzt wird, aber die Gruppen-ID (GID) gleich bleibt.

CVE-2022-27818

Diese Sicherheitslücke ermöglicht es Ihnen, eine /tmp/swhkd.sock-Datei zu verwenden, um einen Unix-Socket zu erstellen, die in einem öffentlich beschreibbaren Verzeichnis erstellt wird und ähnliche Probleme wie die erste Schwachstelle verursacht (jeder Benutzer kann /tmp/swhkd.sock erstellen und Tastendruckereignisse generieren oder abfangen).

CVE-2022-27817

In dieser Schwachstelle Eingabeereignisse werden von allen Geräten und in allen Sitzungen empfangen, das heißt, ein Benutzer in einer anderen Wayland- oder Konsolensitzung kann Ereignisse abfangen, wenn andere Benutzer Hotkeys drücken.

CVE-2022-27816

Der swhks-Prozess verwendet wie swhkd die PID-Datei /tmp/swhks.pid im öffentlich beschreibbaren /tmp-Verzeichnis. Das Problem ähnelt der ersten Schwachstelle, ist aber nicht so gefährlich, da swhks unter einem nicht privilegierten Benutzer ausgeführt wird.

Wenn Sie mehr darüber erfahren möchten, können Sie die Details unter folgendem Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.