Alert!

Teils kritische Lücken in Unix-Drucksystem CUPS ermöglichen Codeschmuggel

Im Linux-Drucksystem CUPS wurden teils kritische Sicherheitslücken entdeckt. Angreifer können dadurch etwa Code einschmuggeln.

In Pocket speichern vorlesen Druckansicht 27 Kommentare lesen
Ein Drucker schleudert Papier in die Luft, ein Server daneben wird von Viren angegriffen, ein Mensch sitzt am PC

(Bild: Bild erstellt mit KI in Bing Designer durch heise online / dmk)

Lesezeit: 4 Min.
Von

Der IT-Sicherheitsforscher Simone Margaritelli mit dem Online-Handle Evilsocket hat vier Schwachstellen im quelloffenen CUPS-Drucksystem aufgespürt, die in Kombination zum Einschleusen von Schadcode missbraucht werden können. Angreifer müssen dazu Netzwerkpakete an den Dienst schicken können.

In einem emotionalen Bericht fasst Margaritelli seine Funde zusammen. Am Ende können nicht authentifizierte Angreifer aus dem Netz unbemerkt die IPP-URLs bestehender Drucker durch bösartige ersetzen oder neue installieren. Dies mündet demnach darin, dass beliebige Befehle ausgeführt werden, wenn ein Druckjob auf dem Computer gestartet wird.

Die Komponente cups-browsed lauscht global auf dem UDP-Port 631 und vertraut dabei jedem Paket aus allen Quellen, was eine Get-Printer-Attributes-IPP-Anfrage zu einer von Angreifern kontrollierten URL auslöst, erklärt Margaritelli. libcupsfilters überprüfen und filtern die von einem IPP-Server zurückgelieferten IPP-Attribute nicht, wodurch von Angreifern übergebene Daten in den Rest des CUPS-Systems gelangen. libppd überprüft und filtert IPP-Attribute ebenfalls nicht beim Schreiben in eine temporäre PPD-Datei, wodurch von Angreifern kontrollierte Daten darin landen. Schließlich erlaubt foomatic-rip das Ausführen beliebiger Befehle mittels des FoomaticRIPCommandLine-PPD-Parameters.

Für einen erfolgreichen Angriff müssen bösartige Akteure ein UDP-Paket an den Port 631 senden, es ist keinerlei Authentifizierung nötig. Das sei auch aus dem öffentlichen Internet möglich: Margaritelli gibt an, den Adressbereich des gesamten Internets über mehrere Wochen mehrmals täglich gescannt zu haben. Dabei habe er präparierte UDP-Pakete an den Port 631 gesendet und protokolliert, welche Adressen eine Verbindung zurück aufbauten, als Indiz für eine verwundbare Installation. Er habe Verbindungen von hunderttausenden Geräten erhalten, zu Spitzenzeiten zwischen 200.000 und 300.000, führt der IT-Sicherheitsforscher aus. Damit ist die Annahme, dass der CUPS-Dienst nicht offen im Netz stehe, hinfällig. Als weiteren Angriffsvektor nennt Margaritelli gefälschte zeroconf-, mDNS- oder DNS-SD-Advertisments aus dem lokalen Netz.

Als Gegenmaßnahmen empfiehlt der IT-Forscher, zumindest den cups-browsed-Dienst zu deaktivieren und zu entfernen – der dient zum automatischen Suchen und Hinzufügen von Druckern. Die CUPS-Pakete auf dem System sollten Betroffene aktualisieren. Sofern Updates nicht möglich sind oder der Dienst benötigt wird, solle aller Traffic zu UDP-Port 631 sowie möglichst aller DNS-SD-Verkehr blockiert werden. Er persönlich würde CUPS vollständig deinstallieren und nie wieder zum Drucken nutzen, ergänzt Margaritelli leicht provokativ, ebenso würde er mit zeroconf-, avahi- und bonjour-Listenern umgehen.

Die einzelnen CVE-Einträge nach Schweregrad der Sicherheitslücke sind in der NIST-Schwachstellendatenbank eingegangen:

Etwa Ubuntu hat aktualisierte CUPS-Pakete veröffentlicht, die die Lücken schließen. Alle namhaften Distributionen dürften in Kürze ebenfalls Updates verteilen oder machen es bereits. Admins sollten zügig sicherstellen, dass die CUPS-Dienste zumindest nicht aus dem öffentlichen Internet erreichbar sind und die bereitstehenden Aktualisierungen installieren.

Auf X hat Simone Margaritelli seit dem Montag dieser Woche etwas "krawallig" auf die bevorstehende Veröffentlichung von Details im Rahmen der Responsible Disclosure hingewiesen. Er beklagt sich sehr über den mühsamen und kräftezehrenden Prozess, überhaupt Gehör zu finden bei den Entwicklern.

Im Vorjahr wurde ebenfalls eine Sicherheitslücke in CUPS bekannt. Angreifer aus dem Netz konnten dort eine Schwachstelle in cups-filter zum Einschleusen von Schadcode missbrauchen, die auf unzureichende Filterung von übergebenen Parametern zurückging, die an das Betriebssystem durchgereicht werden.

(dmk)