Das Common UNIX Printing System (CUPS) ist ein weit verbreitetes Open-Source-Drucksystem, das unter Linux und UNIX-ähnlichen Betriebssystemen wie FreeBSD, NetBSD und OpenBSD weit verbreitet ist. Obwohl CUPS wichtige Druckdienste bereitstellt, wurden in jüngster Zeit kritische Schwachstellen entdeckt, die es Angreifern unter bestimmten Bedingungen ermöglichen, Systeme durch Remotecodeausführung (RCE) auszunutzen.
Verständnis der CUPS-Schwachstellen
Vor kurzem wurden mehrere Sicherheitslücken in mehreren Komponenten des CUPS-Systems entdeckt. Diese Schwachstellen werden verfolgt als:
- CVE-2-24-47076 (libcupsfilters)
- CVE-2024-47175 (libppd)
- CVE-2024-47176 (cups-browsed)
- CVE-2024-47177 (Tassen-Filter)
Diese vom Sicherheitsforscher Simone Margaritelli entdeckten Schwachstellen stellen ein erhebliches Risiko für die Ausführung von Remotecode dar, wenn Angreifer sie unter bestimmten Bedingungen ausnutzen können. Es ist jedoch wichtig zu wissen, dass die Systeme in ihren Standardkonfigurationen nicht anfällig sind. Angreifer müssten diese Schwachstellen miteinander koppeln, um beliebigen Code aus der Ferne auf anfälligen Rechnern auszuführen.
Eine der kritischen Komponenten, die in diese Schwachstellen verwickelt sind, ist der cups-browsed-Daemon. Dieser Daemon ist dafür verantwortlich, das lokale Netzwerk nach angekündigten Netzwerkdruckern oder gemeinsam genutzten Druckern zu durchsuchen und sie den Benutzern auf einem Rechner zur Verfügung zu stellen. Ähnlich wie Windows und macOS Netzwerkdrucker lokalisieren, ermöglicht cups-browsed eine nahtlose Druckererkennung in Linux-Umgebungen.
Diese Funktionalität ist jedoch mit Risiken verbunden. Wenn sie aktiviert ist, lauscht cups-browsed am UDP-Port 631 und ermöglicht es entfernten Geräten im Netzwerk, eine Verbindung herzustellen und neue Drucker zu erstellen. In den meisten Konfigurationen ist cups-browsed standardmäßig deaktiviert, aber wenn ein Administrator es aktiviert hat, wird das System anfällig für Angriffe.
Entfernte Code-Ausführung: Wie funktioniert sie?
Die Kette der Remotecodeausführung (RCE) in CUPS umfasst mehrere Schritte:
Aktivieren von cups-browsed: Damit die RCE-Schwachstelle ausgenutzt werden kann, muss der cups-browsed-Daemon auf dem Zielsystem aktiv sein. Standardmäßig ist dieser Dienst deaktiviert, um das Risiko eines Angriffs zu verringern.
Gefährdung durch das Netzwerk: Wenn cups-browsed aktiviert ist, lauscht das System auf dem UDP-Port 631 auf Netzwerkdrucker, wodurch es anfällig für externe Verbindungen von bösartigen Geräten im selben Netzwerk wird.
Erstellen von bösartigen Druckern: Angreifer können einen bösartigen Drucker anpreisen, der schädliche Befehle in seiner PPD-Datei enthält.
Interaktion mit dem Benutzer: Im letzten Schritt muss ein Benutzer auf dem anfälligen Computer über den kompromittierten Drucker drucken, wodurch die Ausführung des bösartigen Befehls ausgelöst wird.
Abhilfemaßnahmen: Die Ausnutzungskette durchbrechen
Beliebte Linux-Distributionen, darunter Ubuntu und Debian, haben kürzlich die CUPS-Sicherheitslücken CVE-2024-47175 und CVE-2024-47176 durch Sicherheitsupdates behoben. Für Systeme, auf denen diese Patches noch nicht installiert wurden, empfehlen Red Hat und andere Anbieter, den Dienst „cups-browsed“ zu deaktivieren, um zu verhindern, dass er ausgeführt wird und das System für netzwerkbasierte Angriffe anfällig wird.
Hier erfahren Sie, wie Administratoren den Cups-Browed-Dienst stoppen und sicherstellen können, dass er bei einem Neustart nicht mehr gestartet wird:
sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed
Außerdem können Administratoren mit folgendem Befehl überprüfen, ob cups-browsed derzeit ausgeführt wird:
sudo systemctl status cups-browsed
Schlussfolgerung
Während die CUPS-Schwachstellen bei bestimmten Konfigurationen ein erhebliches Risiko darstellen, sind Systeme mit Standardeinstellungen im Allgemeinen nicht gefährdet. Das problematischste Problem, die Remote-Ausführung, erfordert mehrere Schritte zur Ausnutzung, einschließlich der Benutzerinteraktion mit einem bösartigen Drucker.
Für Administratoren ist es wichtig, die Konfigurationen ihrer Systeme zu überprüfen, cups-browsed dort zu deaktivieren, wo es nicht benötigt wird, und auf Patches zu achten, die diese Schwachstellen beheben. Durch diese Maßnahmen kann das Risiko, dass CUPS-Schwachstellen zur Remotecodeausführung ausgenutzt werden, minimiert werden.
Die Quellen für diesen Artikel sind unter anderem ein Bericht von BleepingComputer.

