
Der IT-Sicherheitsforscher Simone Margaritelli—auch bekannt als Evilsocket—hat besorgniserregende Schwachstellen im quelloffenen CUPS-Drucksystem entdeckt. Diese vier Lücken können kombiniert werden um Schadcode einzuschleusen. Angreifer müssen lediglich Netzwerkpakete an den Dienst senden.
Sicherheitslücken verknüpft
Die Komponente cups-browsed lauscht global auf UDP-Port 631. Sie vertraut jedem Paket; unabhängig von der Quelle. Dies löst eine Get-Printer-Attributes-IPP-Anfrage zu einer von Angreifern kontrollierten URL aus, erklärt Margaritelli. Die Bibliotheken libcupsfilters und libppd überprüfen die zurückgelieferten IPP-Attribute nicht. Dadurch gelangen von Angreifern manipulierte Daten in das CUPS-System. Schließlich erlaubt foomatic-rip das Ausführen beliebiger Befehle.
Einfache Angriffsvektoren
Einen erfolgreichen Angriff kann ein Angreifer durchführen, indem er ein UDP-Paket an Port 631 sendet—eine Authentifizierung ist nicht erforderlich. Margaritelli hat festgestellt; dass dies sogar aus dem öffentlichen Internet möglich ist. Er scannte den Adressbereich des gesamten Internets über mehrere Wochen vergeblich. Dabei gesendete präparierte UDP-Pakete brachten Verbindungen von Hunderttausenden Geräten zu Tage—zu Spitzenzeiten sogar von 200.000 bis 300.000. Diese Erkenntnis stellt die Annahme in Frage, dass der CUPS-Dienst nicht öffentlich zugänglich sei. Als zusätzlichen Angriffsvektor nennt Margaritelli gefälschte Zeroconf-, mDNS- oder DNS-SD-Advertisments.
Gegenmaßnahmen & Empfehlungen
Um sich zu schützen, empfiehlt Margaritelli—auch provokant, dass der *cups-browsed*-Dienst deaktiviert und entfernt werden solle. Zudem ist es ratsam die CUPS-Pakete auf dem System zu aktualisieren. Wenn ein Update nicht möglich ist oder der Dienst weiterhin benötigt wird, sollten aller Traffic zu UDP-Port 631 und ebenfalls möglichst aller DNS-SD-Verkehr blockiert werden. Er selbst würde CUPS deinstallieren und nie wieder nutzen.
Sicherheitsbewertung der Lücken
Die einzelnen CVE-Einträge sind in der NIST-Schwachstellendatenbank veröffentlicht. Die Sicherheitsbewertung umfasst:
- cups-filters CVE-2024-47177, CVSS 9.0, Risiko "kritisch"
- libppd CVE-2024-47175, CVSS 8.6, hoch
- libcupsfilters CVE-2024-47076, CVSS 8.6, hoch
- cups-browsed CVE-2024-47176, CVSS 8.3, hoch
Distributionen wie Ubuntu haben bereits aktualisierte CUPS-Pakete veröffentlicht um die Lücken zu schließen. Alle namhaften Distributionen dürften bald ähnlich wie Updates bereitstellen. Admins sollten schnell handeln um die CUPS-Dienste vor unautorisierten Zugriffen aus dem Internet zu schützen.
Berechtigter Unmut der Forscher
Auf Plattformen wie X hat Simone Margaritelli seit dieser Woche auf die bevorstehende Veröffentlichung von Details hingewiesen. Der mühsame Prozess des Gehörfindens bei Entwicklern—eine frustrierende Erfahrung—beklagt er herausdrücklich. Im letzten Jahr kam es bereits zu ähnlichen Sicherheitsproblemen im CUPS-System. Dort konnten Angreifer eine Schwachstelle in cups-filter ausnutzen die auf unzureichende Filterung von übergebenen Parametern zurückgeht.
Kommentare
der Funde
In einem Bericht—emotional und prägnant—liefert Margaritelli Details zu seinen Entdeckungen. Am Ende können nicht authentifizierte Angreifer unbemerkt die IPP-URLs von Druckern ändern oder neue Drucker installieren. Das führt dazu, dass beliebige Befehle ausgeführt werden sobald ein Druckjob gestartet wird.