{"id":303595,"date":"2024-09-28T08:40:22","date_gmt":"2024-09-28T06:40:22","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=303595"},"modified":"2024-09-28T10:47:36","modified_gmt":"2024-09-28T08:47:36","slug":"linux-unix-rce-schwachstellen-im-cups-sept-2024","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2024\/09\/28\/linux-unix-rce-schwachstellen-im-cups-sept-2024\/","title":{"rendered":"Linux\/Unix RCE-Schwachstellen im CUPS (Sept. 2024)"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px 10px 0px 0px; display: inline; float: left;\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2015\/11\/Linux.jpg\" width=\"64\" height=\"76\" align=\"left\" \/>[<a href=\"https:\/\/borncity.com\/win\/2024\/09\/28\/linux-unix-rce-vulnerabilities-in-cups-sept-2024\/\" target=\"_blank\" rel=\"noopener\">English<\/a>]Im Drucksystems CUPS, welches unter Linux und Unix zum Einsatz kommt, gibt es gleich mehrere kritische Schwachstellen. Diese lassen sich unter bestimmten Konstellationen f\u00fcr Remote Code Execution-Angriffe (RCE) verwenden.<\/p>\n<p><!--more--><\/p>\n<h2>Was ist CUPS?<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg07.met.vgwort.de\/na\/bcdb9de8fd3f4dbaae377a8b1ba44c23\" alt=\"\" width=\"1\" height=\"1\" \/>Das K\u00fcrzel\u00a0<a href=\"https:\/\/de.wikipedia.org\/wiki\/Common_Unix_Printing_System\" target=\"_blank\" rel=\"noopener\">CUPS<\/a> steht f\u00fcr Common Unix Printing System. Es handelt sich um ein Open-Source-Drucksystem, das als Daemon fungiert, der das Drucken unter den verschiedenen unixoiden Betriebssystemen sowie unter OS\/2\/EComStation erm\u00f6glicht.<\/p>\n<p>Entwickelt wurde es von Michael Sweedt, der die erste Version 1999 ver\u00f6ffentlichte. Im Jahr 2007 wurde Sweedt von Apple eingestellt und der Konzern erwarb auch die Rechte an CUPS. Die kommerzielle Variante von CUPS wurde dann eingestellt. Daher setzt auch\u00a0Apple in <a href=\"https:\/\/www.cups.org\/\" target=\"_blank\" rel=\"noopener\">macOS, iOS und iPadOS<\/a> auf CUPS auf. Seit 2017 wird CUPS\u00a0unter der\u00a0Apache-Lizenz verbreitet und l\u00e4sst sich auch in Windows nutzen.<\/p>\n<h2>Schwachstellen in CPUS<\/h2>\n<p>Der in Rom lebende und unter dem Alias <a href=\"https:\/\/github.com\/evilsocket\" target=\"_blank\" rel=\"noopener\">evilsocket<\/a> publizierender Entwickler Simone Margaritelli (arbeitet aktuell bei <a href=\"https:\/\/www.df-f.com\/\" target=\"_blank\" rel=\"noopener\">DataFlow Forensic<\/a>), der laut eigener Aussage an CUPS mit entwickelt, hat gleich mehrere Schwachstellen in CUPS aufgedeckt.<\/p>\n<p><a href=\"https:\/\/www.evilsocket.net\/2024\/09\/26\/Attacking-UNIX-systems-via-CUPS-Part-I\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.postimg.cc\/wBrBLKrX\/image.png\" alt=\"CUPS vulnerabilities\" width=\"584\" height=\"469\" \/><\/a><\/p>\n<p>Zum 26. September 2024 hat er Teil I seiner Erkenntnisse auf evilsoft.net im Beitrag\u00a0<a href=\"https:\/\/www.evilsocket.net\/2024\/09\/26\/Attacking-UNIX-systems-via-CUPS-Part-I\/\" target=\"_blank\" rel=\"noopener\">Attacking UNIX Systems via CUPS, Part I<\/a> ver\u00f6ffentlicht. \u00dcber eine Verkettung der\u00a0 Schwachstellen CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) und CVE-2024-47177 (cups-filters) k\u00f6nnen Angreifer unter bestimmten Bedingungen beliebigen Code remote auf verwundbaren Rechnern ausf\u00fchren.<\/p>\n<p>So durchsucht der cups-browsed-Daemon das Netzwerk nach freigegebenen Druckern.\u00a0 Dazu lauscht der Daemon am UDP-Port 631 nach Antworten und l\u00e4sst dabei standardm\u00e4\u00dfig Remote-Verbindungen von jedem Ger\u00e4t zu, um neue Druckerverbindungen zu erstellen.<\/p>\n<p>Margaritelli stie\u00df bei der Analyse auf eine Schwachstelle, so dass er einen PostScript Printer Description (PPD)-Drucker erstellen konnte, der manuell an einen offenen, von cups durchsuchten Dienst, der auf UDP-Port 631 l\u00e4uft, weitergereicht wird.<\/p>\n<p>Ein Rechner macht diesen Drucker automatisch remote zum Drucken verf\u00fcgbar. Gelingt es einem Angreifer, einen b\u00f6sartigen (PPD)-Drucker zu erstellen, kann er remote b\u00f6sartige Befehle auf dem lokalen Rechner ausf\u00fchren.<\/p>\n<p>Dazu braucht ein nicht authentifizierter remote Angreifer nur die IPP-URLs bestehender Drucker (oder neuer Drucker) unbemerkt durch eine b\u00f6sartige ersetzen. Das l\u00e4sst sich zur Ausf\u00fchrung beliebiger Befehle auf dem lokalen Rechner verwenden, indem ein Druckauftrag von diesem Computer gestartet wird.<\/p>\n<p>Im WLAN kann ein Remote-Angreifer, ggf. per Internet, ein UDP-Paket an Port 631 senden. Es erfolgt keine Authentifizierung. Ein lokaler Angreifer kann im lokalen Netzwerk die zeroconf-, mDNS-, und DNS-SD-Ank\u00fcndigungen f\u00e4lschen, um den gleichen Code-Pfad zu erreichen, der zur RCE f\u00fchrt, schreibt der Entdecker.\u00a0Simone Margaritelli hat in seinem Artikel folgende Schwachstellen benannt:<\/p>\n<ul>\n<li>CVE-2024-47176 | cups-browsed &lt;= 2.0.1 bindet sich an UDP INADDR_ANY:631 und vertraut darauf, dass ein beliebiges Paket von einer beliebigen Quelle eine Get-Printer-Attributes IPP-Anfrage an eine vom Angreifer kontrollierte URL ausl\u00f6st.<\/li>\n<li>CVE-2024-47076 | libcupsfilters &lt;= 2.1b1 cfGetPrinterAttributes5 validiert oder bereinigt die von einem IPP-Server zur\u00fcckgegebenen IPP-Attribute nicht, wodurch vom Angreifer kontrollierte Daten f\u00fcr den Rest des CUPS-Systems bereitgestellt werden.<\/li>\n<li>CVE-2024-47175 | libppd &lt;= 2.1b1 ppdCreatePPDFromIPP2 validiert oder bereinigt die IPP-Attribute nicht, wenn sie in eine tempor\u00e4re PPD-Datei geschrieben werden, was die Einspeisung von durch Angreifer kontrollierten Daten in die resultierende PPD erm\u00f6glicht.<\/li>\n<li>CVE-2024-47177 | cups-filters &lt;= 2.0.1 foomatic-rip erm\u00f6glicht beliebige Befehlsausf\u00fchrung \u00fcber den PPD-Parameter FoomaticRIPCommandLine.<\/li>\n<\/ul>\n<p>Es soll noch weitere Bugs in CUPS geben. CUPS und insbesondere der cups-browsed Daemon sind f\u00fcr die meisten UNIX-Systeme (GNU\/Linux-Distributionen, diverse BSD-Systeme, ChromeOS, Solaris etc.) verf\u00fcgbar.<\/p>\n<h2>Wie kritisch ist es?<\/h2>\n<p>Die Schwachstellen wurden mit einem CVS 3.1-Score von 9.8 versehen, was eigentlich sehr kritisch ist. Aber die Bewertung der Ausnutzbarkeit differiert sehr stark. Simone Margaritelli schreibt, dass der cups-browsed Daemon in einigen F\u00e4llen standardm\u00e4\u00dfig aktiviert sei.<\/p>\n<p><a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/cups-flaws-enable-linux-remote-code-execution-but-theres-a-catch\/\" target=\"_blank\" rel=\"noopener\">Bleeping Computer<\/a> gibt an, dass dieser Daemon standardm\u00e4\u00dfig nicht aktiviert sei. Die Kollegen zitieren <a href=\"https:\/\/www.redhat.com\/en\/blog\/red-hat-response-openprinting-cups-vulnerabilities\" target=\"_blank\" rel=\"noopener\">diesen RedHat-Artikel<\/a> mit einer Stellungnahme zu den obigen Schwachstellen.<\/p>\n<p>Alle Versionen von Red Hat Enterprise Linux (RHEL) sind von CVE-2024-47076, CVE-2024-47175, CVE-2024-47176 und CVE-2024-47177 betroffen, sind aber in ihren Standardkonfigurationen nicht anf\u00e4llig.<\/p>\n<p>Red Hat stuft diese Schwachstellen daher vom Schweregrad \"Kritisch\" auf \"Wichtig\" herunter. Administratoren k\u00f6nnen die Schwachstelle relativ leicht entfernen, indem sie den cups-browsed Daemon mit folgenden Befehlen:<\/p>\n<pre>$ sudo  systemctl stop cups-browsed\r\n$ sudo systemctl disable cups-browsed<\/pre>\n<p>stoppen und dann am Starten hindern. Red Hat und die Linux-Entwickler arbeiten derzeit an Patches, um diese Probleme zu beheben. Eine Diskussion findet sich auch auf <a href=\"https:\/\/www.reddit.com\/r\/cybersecurity\/comments\/1fq5q49\/initial_disclosure_from_evilsocket_simone\/?tl=de\" target=\"_blank\" rel=\"noopener\">reddit.com<\/a>.<\/p>\n<p>Der Entdecker der Schwachstellen schreibt: Falls das System nicht aktualisiert werden kann und Sie aus irgendeinem Grund auf diesen Dienst angewiesen sind, blockieren Sie den gesamten Verkehr zum UDP-Port 631 und m\u00f6glicherweise den gesamten DNS-SD-Verkehr (viel Gl\u00fcck, wenn Sie zeroconf verwenden).<\/p>\n<h2>Viele CUPS-Instanzen im Internet erreichbar<\/h2>\n<p>Nachfolgender <a href=\"https:\/\/x.com\/H4ckManac\/status\/1839569888836235305\" target=\"_blank\" rel=\"noopener\">Tweet<\/a> greift Zahlen von Shodan auf. \u00dcber diese <a href=\"https:\/\/www.shodan.io\/search\/report?query=product%3Acups\" target=\"_blank\" rel=\"noopener\">Suchmaschine<\/a> werden \u00fcber 75.000 ungesch\u00fctzte CUPS-Daemons im Internet gefunden, die potentiell \u00fcber die Remote Code Execution-Schwachstelle (RCE) angreifbar sind.<\/p>\n<p><a href=\"https:\/\/www.shodan.io\/search\/report?query=product%3Acups\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i.postimg.cc\/GmzbR0JF\/image.png\" alt=\"CUPS vulnerability in Linux\" width=\"607\" height=\"624\" \/><\/a><\/p>\n<p>Hetzner ist mit ca. 2.105 Systemen dabei, in Deutschland werden 4.818 solcher Systeme gez\u00e4hlt.<\/p>\n<p>Sicherheitsforscher Marcus Hutchins schreibt <a href=\"https:\/\/www.linkedin.com\/posts\/malwaretech_update-on-cups-attack-surface-data-activity-7245539755231174656-KZR2\" target=\"_blank\" rel=\"noopener\">auf LinkedIn<\/a>, dass er seine Scantechnik zur Identifizierung angreifbarer CUPS-Server \u00fcberarbeitet habe. Anstatt sich auf Shodan-Daten zu verlassen, hat er einen eigenen internetweiten Scan mit einem verteilten Netzwerk von Servern durchgef\u00fchrt.<\/p>\n<p>Der Scanner sendet eine Sondierungsnachricht an den UDP-Port 631. Bei einem erfolgreichem Empfang durch ein System, auf dem der cups-browsed-Daemon l\u00e4uft, f\u00fchrt dies dazu, dass das System eine ausgehende Verbindung zu den Webserver von Hutchins initiiert.<\/p>\n<p>Nur eindeutige IP-Adressen, die seinen Webserver mit g\u00fcltigen CUPS-Anfragen erreichten, wurden als potentiell \"angreifbar\" gez\u00e4hlt.\u00a0Dadurch konnte er drastisch mehr exponierte Instanzen von CUPS entdecken. Er schreibt von insgesamt 107.287 Systemen (wobei in Deutschland 12.212 Systeme detektiert wurden).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]Im Drucksystems CUPS, welches unter Linux und Unix zum Einsatz kommt, gibt es gleich mehrere kritische Schwachstellen. Diese lassen sich unter bestimmten Konstellationen f\u00fcr Remote Code Execution-Angriffe (RCE) verwenden.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[95,426,7459],"tags":[4305,4328],"class_list":["post-303595","post","type-post","status-publish","format-standard","hentry","category-linux","category-sicherheit","category-software","tag-linux","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/303595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=303595"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/303595\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=303595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=303595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=303595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}