Kürzlich wurde eine neue Schwachstelle in einem weit verbreiteten Druckserver entdeckt, der standardmäßig in vielen Linux- und Unix-basierten grafischen Benutzeroberflächensystemen installiert ist. Der primäre Angriffsvektor für diese Schwachstelle ist der CUPS-Druckplaner (Common Cell Printing System), insbesondere cups-browsed, der das Potenzial für eine Remote-Codeausführung bietet, ohne dass eine Benutzerinteraktion erforderlich ist.
Berichten zufolge gaben RHEL und Canonical der Schwachstelle einen CVSS-Score von 9,9, doch dieser Score löste heftige Debatten aus, wobei einige argumentierten, dass er einen niedrigeren Score haben sollte, da der Code zwar aus der Ferne auf das System heruntergeladen, aber nicht ohne Benutzereingriff ausgeführt werden kann. Glücklicherweise gibt es keine Beweise dafür, dass der Fehler ausgenutzt wurde, obwohl die Offenlegung vor der geplanten privaten Offenlegung im Oktober online durchgesickert ist und den Entwickler, der sie entdeckt hat, dazu veranlasst hat, eine ausführliche Erklärung in seinem Blog zu veröffentlichen. In diesem Fall beginnen böswillige Akteure wahrscheinlich damit, die Sicherheitslücke auszunutzen.
Laut einem langen Blogbeitrag der Forscherin SimoneMargaritelli sind Dienste im Zusammenhang mit dem CUPS-Drucksystem anfällig für die Remote-Codeausführung. Im Wesentlichen täuscht das angreifende System den Druckplaner vor, dass es sich um einen Drucker handelt, und sendet Malware (möglicherweise willkürlichen ausführbaren Code), getarnt als Druckerkonfigurationsdatei. Für diesen Vorgang ist kein Benutzereingriff erforderlich, da CUPS alle über Port *:631 gesendeten Pakete akzeptiert.
Briefing:
CVE-2024-47176|cups-browsed<=2.0.1 bindet an UDPINADDR_ANY:631 und vertraut darauf, dass jedes Paket von einer beliebigen Quelle eine Get-Printer-Attributes-IPP-Anfrage an eine vom Angreifer kontrollierte URL auslöst.
CVE-2024-47076|libcupsfilters<=2.1b1cfGetPrinterAttributes5 validiert oder bereinigt die vom IPP-Server zurückgegebenen IPP-Attribute nicht und stellt vom Angreifer kontrollierte Daten für andere Teile des CUPS-Systems bereit.
CVE-2024-47175|libppd<=2.1b1ppdCreatePPDFromIPP2 validiert oder bereinigt IPP-Attribute nicht, wenn sie in eine temporäre PPD-Datei geschrieben werden, sodass vom Angreifer kontrollierte Daten in die generierte PPD eingefügt werden können.
CVE-2024-47177|cup-filters<=2.0.1foomatic-rip ermöglicht die Ausführung beliebiger Befehle über den Parameter FoomaticRIPCommandLinePPD.
Der besondere Exploit beruht auf einer großen Anzahl ungepatchter Schwachstellen, von denen einige mehr als ein Jahrzehnt alt sind. Daher ist dies ein besonderes Problem für Benutzer mit Linux- oder Unix-basierten Systemen. Damit dieser Angriffsvektor funktioniert, müssen auf dem System CUPS (Common Unix Printing System) und cups-browsed installiert und ausgeführt sein, was auf vielen Systemen die Standardeinstellung ist. Laut Margaritelli gibt es derzeit 200.000 bis 300.000 Systeme, die mit dem Internet verbunden sind und Druckdienste anbieten. Shodan berichtet jedoch (siehe Screenshot oben), dass es ungefähr 76.000 Systeme mit offenen CUPS-Ports und einer Verbindung zum Internet gibt.
Während die Forscher behaupten, dass die meisten GNU/Linux-Distributionen sowie möglicherweise ChromeOS und macOS betroffen sind, sollte beachtet werden, dass dies nicht die Standardkonfiguration für viele Linux-Distributionen ist und insbesondere nicht die Konfiguration großer Server oder Rechenzentren sein sollte, was bedeutet, dass die größte Zielgruppe private PC-Benutzer sein werden, die Linux verwenden.