Website-Suche

Sorgen wegen des kritischen RCE-Fehlers in Linux? So können Sie beruhigt sein


Ja, es gibt Sicherheitslücken in OpenPrinting CUPS, das von Linux, Chrome OS, macOS sowie einigen Unix-Systemen für das Drucken verwendet wird - aber es ist nicht so schlimm. So prüfen Sie, ob Sie betroffen sind.

Die Leute in der Linux-Community machten sich diese Woche Sorgen.

Am Montag behauptete der italienische Programmierer Simone Margaritelli, der unter dem Benutzernamen @evilsocket bekannt ist, dass es eine unbefugte Ausführung von Code aus der Ferne (Remote Code Execution, RCE) gebe, die mit einer Bewertung von 9,9 im Common Vulnerability Scoring System (CVSS) eingestuft wird und gegen alle Linux-Systeme eingesetzt werden könnte.

Für alle, die keine Sicherheitsexperten sind, ist eine Bewertung von 9,9 das Schlimmste, was es gibt. Doch was Margaritelli nicht erwähnte, ist, dass standardmäßig fast kein ordnungsgemäß gesichertes System tatsächlich über diese Schwachstellen angegriffen werden könnte.

Ich habe zwar gesagt: „ordnungsgemäß gesichert“. Doch es scheint, dass viele - tatsächlich Hunderttausende - nicht korrekt gesichert sind. Wie Margaritelli in einem Blogpost schrieb: „Seit Wochen scanne ich mehrmals täglich die gesamten öffentlichen IPv4-Adressbereiche des Internets, sende UDP-Pakete und protokolliere alle Geräte, die darauf antworten. Dabei habe ich Antworten von Hunderttausenden von Geräten erhalten.“

Beginnen wir damit zu erklären, dass das Problem nicht bei Linux selbst liegt - sondern beim OpenPrinting CUPS-Druckprogramm. CUPS ist ein Open-Source-System, das das Internet Printing Protocol (IPP) verwendet, um Drucker, Druckaufträge sowie Druckwarteschlangen zu verwalten. Sobald es installiert und läuft, ermöglicht es es Computern, als Druckserver zu fungieren.

Wie Margaritelli erklärte, besteht das Problem darin, dass ein entfernter, nicht authentifizierter Angreifer - wenn er dies geschickt anstellt - die IPP-URLs der vorhandenen Drucker (oder neue Drucker) durch eine bösartige URL ersetzen kann. Dadurch wird bei Start einer Druckauftrags von diesem Computer aus beliebiger Befehlscode ausgeführt.

In ihrem Sicherheitsbulletin zu CUPS erklärte Red Hat, dass zur Ausnutzung folgende Bedingungen erfüllt sein müssen:

  1. Der Dienst cups-browsed wurde manuell aktiviert oder gestartet.

  2. Ein Angreifer hat Zugang zu einem anfälligen Server, der:

  3. Der Angreifer bewirbt einen bösartigen IPP-Server und stellt so einen bösartigen Drucker bereit.

  4. Ein potenzielles Opfer versucht, vom bösartigen Gerät zu drucken.

  5. Der Angreifer führt beliebigen Code auf dem Rechner des Opfers aus.

Wo soll man anfangen? Erstens: Wer bei Verstand stellt schon einen Computer ins Internet, ohne jegliche Zugriffsbeschränkungen?

Ich frage mich auch, warum ein solcher Computer vertrauenswürdige lokale Verbindungen zulässt. Vergessen wir CUPS - das ist einfach eine Einladung dafür, dass Ihr Server sowie alles in Ihrem Netzwerk gehackt werden.

Dies ist kein 9,9-Problem. Red Hat sowie alle anderen Linux-Distributionen, die sich mit diesem zusammenhängenden Satz von Sicherheitslücken beschäftigen, stuften ihn als wichtig ein. Die einzelnen CVE-CVSS-Werte der vier Fehler liegen zwischen 6,1 und 8,2.

Wie Ilkka Turunen, Field CTO beim Open-Source-Unternehmen für die Supply-Chain-Sicherheit Sonatype, auf LinkedIn schrieb: „Gute Nachrichten also - es handelt sich zwar um eine RCE-Schwachstelle, doch es gibt mehrere Abhilfemaßnahmen. So muss der Angreifer beispielsweise per UDP eine Verbindung zum Computer herstellen können; UDP ist jedoch an Netzwerkzugängen meist deaktiviert. Zudem ist der betreffende Dienst standardmäßig meist nicht aktiviert. Die Auswirkungen in der Praxis scheinen daher gering zu sein.“

Das klingt für mich fair.

Dies ist ein klassisches Beispiel für einen Dienst, der seine Eingaben weder überprüft noch bereinigt. Das klassische „Zeichentrick-Beispiel“ für diese Art von Angriff ist „Little Bobby Tables“. Es werden Bemühungen unternommen, solche Angriffe in CUPS zu verhindern - doch die endgültigen Patches wurden bisher noch nicht geschrieben.

https://xkcd.com/327/

Wie Margaritelli zu Recht feststellte, ist der CUPS-Code selbst ein einziges Chaos. Er muss dringend bereinigt und korrigiert werden. Margaritelli berichtete, dass viele der an CUPS beteiligten Programmierer sich gegen Bemühungen wehrten, die Fehler aufzuzeigen - ganz zu schweigen davon, sie zu beheben.

Das ist nicht cool, Leute. Überhaupt nicht cool.

Wie man prüft, ob man CUPS ausführt

Vorläufig besteht die Lösung darin, zu prüfen, ob Sie CUPS mit einem solchen Befehl ausführen:

$ sudo systemctl status cups-browsed

Falls es nicht läuft, sind Sie fertig. Kein Problem.

Falls ja und Sie nicht benötigen, dass Ihr Rechner ein Druckserver ist, geben Sie ein:

$ sudo systemctl stop cups-browsed

Das wird das Problem sofort beenden. Um zu verhindern, dass es erneut auftritt, führen Sie aus:

$ sudo systemctl disable cups-browsed

Während Sie dabei sind: Um Himmels willen, wenn Sie einen Server haben, der ungeschützt im Internet läuft, stellen Sie ihn ab! Installieren Sie ein Firewall auf diesem Server und blockieren Sie insbesondere jeglichen externen Datenverkehr zum Port 631, dem Standard-Port für IPP.

Angenommen, Sie haben einen stark ausgelasteten Druckserver hinter einer Firewall. Sind Sie nun aus dem Schneider? Nein, das sind Sie nicht. Jemand in Ihrem lokalen Netzwerk, der den Port 631 nutzen muss, um Dokumente zu drucken, könnte den Server angreifen.

In diesem Fall müssen Sie die Datei /etc/cups/cups-browsed.conf bearbeiten. Konkret müssen Sie den Wert der Direktive BrowseRemoteProtocols vom Standardwert „dnssd cups“ auf „none“ ändern. Anschließend starten Sie den Dienst cups-browsed mit dem folgenden Befehl neu:

$ sudo systemctl restart cups-browsed

Machen Sie sich nichts vor: Sobald die Patches verfügbar sind, müssen Sie diese so schnell wie möglich installieren. Aber solange Sie nicht den dummen Fehler begangen haben, Ihre Linux-Computer ohne Firewall ins Internet zu stellen, sollten Sie eigentlich keine Probleme haben.

Ähnliche Artikel