Zum Inhalt springen
BlogSicherheitLinode Security Digest 3-7, April 2023

Linode Security Digest 3. bis 7. April 2023

Linode Security Digest

In der Zusammenfassung dieser Woche besprechen wir folgende Themen:

  • Abgebrochene asynchrone Redis-Befehle, die offene Verbindungen hinterlassen;
  • Ein Zugriffskontrollproblem in polkit, das es einem Dienstbenutzer ermöglicht, seine Privilegien zu root zu erweitern; 
  • Ein schwerwiegendes Problem bei der Zugriffskontrolle in Elementor Pro; und
  • Sudo-Replay als Mittel zur Erstellung von Prüfpfaden.
CVE-2023-28858: redis-py: Abgebrochene asynchrone Verbindungen bleiben offen

Hintergrund

redis-py ist eine Python Schnittstelle zum Redis Key-Value-Store, die verschiedene abstrakte Datentypen unterstützt. Redis ermöglicht Client-Verbindungen über TCP und unterstützt asynchrones Client-Handling.

Schwachstelle

Die erste Schwachstelle, CVE-2023-28858, die redis-py-Versionen unter 4.5.3 betrifft, tritt auf, wenn ein asynchroner redis-Befehl abgebrochen wird, nachdem der Befehl gesendet wurde, aber bevor die Antwort empfangen wurde. Dies hinterlässt eine offene Verbindung, die dann verwendet werden kann, um Antwortdaten an einen unbeteiligten Client zu senden. Die Ursache der Schwachstelle liegt in der Behandlung von abgebrochenen Anfragen in asynchronen Clients(client.py). Gesendete Befehle werden immer auf eine Antwort warten, unabhängig davon, ob der Befehl später abgebrochen wird. 

Während die erste Schwachstelle, CVE-2023-2885, mit einem Fix geschlossen wurde, wurde ein ähnliches Problem erneut geöffnet, da der Fix unvollständig war und nicht-pipelinefähige Operationen anfällig blieben. Die verbleibende Schwachstelle mit der Bezeichnung CVE-2023-28859 wurde mit einem Patch behoben, der diese Datenlecks in asynchronen Verbindungen durchgängig behebt.

Milderung

  • Die Sicherheitslücke wurde in redis-py Version 4.5.4 behoben. Ein Upgrade auf die neueste Version ist der empfohlene Weg, um dieses Problem zu beheben.
polkit: Standardkonfiguration beschreibbar für Dienstbenutzer

Hintergrund

polkit ist ein Toolkit zur Definition und Handhabung von Berechtigungen in Unix-ähnlichen Betriebssystemen und wird typischerweise verwendet, um unprivilegierten Prozessen zu erlauben, mit privilegierten zu sprechen.

Schwachstelle

Die Sicherheitslücke tritt auf, wenn auf polkitd, den Standardbenutzer, zugegriffen wird. Dieser Benutzer ist Eigentümer der Datei, in der die polkit-Regeln gespeichert sind (mit den Berechtigungen 700) und könnte Regeln erstellen, die Root-Rechte gewähren.

Wenn polkitd auf "nologin" eingestellt ist, könnte dieser hypothetische Angriff zu einer Ausweitung der Root-Rechte führen.

Die vom Schwachstellenberichterstatter empfohlene Abhilfemaßnahme bestand darin, die Berechtigungen der Dateien /etc/polkit-1/rules.d und /usr/share/polkit-1/rules.d auf root:polkitd, 750 zu ändern, um ein solches Vorkommen zu verhindern. Diese Änderungen wurden kurz darauf zusammengeführt.

Milderung

  • Für bestehende Installationen von polkit wird empfohlen, die Berechtigungen der Dateien /etc/polkit-1/rules.d und /usr/share/polkit-1/rules.d auf root:polkitd, 750
  • Zum Zeitpunkt der Erstellung dieses Digest wurden noch keine neuen Versionen mit diesem Patch veröffentlicht, es wird jedoch empfohlen, auf die neueste Version von polkit zu aktualisieren, sobald diese verfügbar ist.
Elementor Pro: Hochgradig schwerwiegendes Problem bei der Zugriffskontrolle

Hintergrund

Elementor Pro ist ein beliebtes Premium-WordPress-Plugin, das schätzungsweise von über 12 Millionen Websites verwendet wird. Dieses Plugin bietet professionelle Website-Builder, Widgets und eine Integration mit WooCommerce für kommerzielle Zwecke.

Schwachstelle

Die Sicherheitslücke - derzum Zeitpunkt der Erstellung dieser Zusammenfassung noch keine CVE zugeordnet wurde - betrifft WordPress-Websites, auf denen sowohl Elementor Pro als auch WooCommerce installiert sind. Sie tritt insbesondere auf, wenn die Funktion update_option durch eine AJAX-Aktion in der WooCommerce-Modulkomponente aufgerufen wird. Die Funktion update_option sollte nur einem privilegierten Benutzer erlauben, bestimmte Shop-Komponenten zu aktualisieren. Die Funktion schränkt den Zugriff jedoch nicht auf einen hochprivilegierten Benutzer ein, und die Benutzereingaben werden nicht validiert. 

Diese Schwachstelle kann es dem Angreifer ermöglichen, mit einem typischen WooCommerce-Kundenkonto auf das Back-End der Website zuzugreifen. Auf diese Weise könnten Angreifer ein Administratorkonto erstellen, die E-Mail-Adresse des Administrators ändern und den gesamten Datenverkehr auf eine externe Website umleiten.

Milderung

  • Diese Sicherheitslücke wurde in Elementor Pro Version 3.11.7 behoben. Ein Upgrade auf die neueste Version ist der empfohlene Weg, um dieses Problem zu beheben. 
sudo replay: Erstellung von Prüfpfaden

Hintergrund

sudoreplay ist ein Kommandozeilenprogramm, das sudo-Ausgabeprotokolle abspielt, verfügbar in sudo 1.8. Es kann Sitzungen in Echtzeit oder mit der in der Befehlszeile angegebenen Geschwindigkeit wiedergeben.

Methode

In einem auf Wott veröffentlichten Blog demonstriert der Autor Viktor Petersson, wie man sudoreplay konfiguriert und sudo-Logs ausgibt. Mit dieser Methode haben Befehle, die mit sudo ausgeführt werden, einen Prüfpfad, der mit sudoreplay abrufbar ist.

Wie im Blog erwähnt, können Benutzer den Prüfpfad löschen, indem sie /var/log/sudo-io löschen, wenn die Datei /etc/sudoers nicht richtig gesperrt ist. 

Milderung

  • Die Übermittlung von Protokollen an einen entfernten Server verringert das Risiko von Manipulationen an den Protokollen, anstatt sie lokal zu speichern.

Kommentare

Kommentar abgeben

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