Vertiefung: Navigieren durch die kritische CUPS-Schwachstelle in GNU-Linux-Systemen
Linux-Benutzer hatten es in letzter Zeit nicht leicht, denn in den letzten Jahren wurden mehrere hochgradige Sicherheitslücken bekannt, die das System auf unterschiedliche Weise beeinträchtigen. Sicherheitsforscher haben nun eine weitere Gruppe von Schwachstellen zu entpacken, die alle mit der Funktion Common UNIX Printing System (CUPS) zu tun haben, die auf GNU/Linux-Systeme abzielt und einen potenziellen Weg für eine starke Remote Code Execution (RCE) bietet.
Am 27. September 2024 veröffentlichte Simone Margaritelli von evilsocket.net kritische Informationen über mehrere ausnutzbare Schwachstellen in CUPS, wobei vier davon CVEs zugewiesen wurden. Diese Zahl könnte noch steigen, aber zum Zeitpunkt der Erstellung dieses Artikels diskutiert die Sicherheitsgemeinschaft über den tatsächlichen Schweregrad dieser Entdeckungen. Während eine der CVEs, CVE-2024-47177, von MITRE derzeit als kritisch eingestuft wird, ist die erfolgreiche Manipulation dieses Befehlsinjektionsfehlers von Servern abhängig, auf denen der CUPS-Dienst aktiviert ist, und erfordert außerdem Zugriff auf den UDP-Port 631 oder DNS-SD. RedHat weist jedoch darauf hin, dass es möglich ist, CUPS auf einen anderen Port umzuleiten.
Margaritellis umfassende Aufschlüsselung des Vorfalls offenbart eine heimtückische, komplexe Kette von Angriffen, die trotz der Meinungsverschiedenheiten in der Community nicht ignoriert werden sollte. Der Vorfall bietet uns eine Lektion darüber, dass scheinbar harmlose Abhängigkeiten ausgenutzt werden können, wenn ein Bedrohungsakteur entschlossen genug ist und wenn durch schlechte Codierungsmuster kleine Zeitfenster offen gelassen wurden.
Das CUPS-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, also lassen Sie uns einen Blick darauf werfen und Ihre Fähigkeiten auf diesem Weg testen.
Die Sicherheitslücke: Remote Code Execution (RCE) über CUPS
Der Evilsocket-Blog bietet einen unübertroffenen, gründlichen Hintergrund zu diesen Exploits, und wir werden diese Quelle weiterhin aufmerksam verfolgen. Margaritelli zitiert in seinem Artikel auch eine ungenannte Quelle, die sich nicht optimistisch über die allgemeine Sicherheitsstabilität von Linux äußert:
"Vom allgemeinen Sicherheitsstandpunkt aus gesehen ist ein ganzes Linux-System in seiner heutigen Form nur ein endloses und hoffnungsloses Durcheinander von Sicherheitslücken, die darauf warten, ausgenutzt zu werden."
Dies ist eine ernüchternde Erinnerung an die inhärenten Sicherheitsrisiken, die in Open-Source-Umgebungen nach wie vor vorherrschen, ganz zu schweigen von der dringenden Notwendigkeit eines erhöhten Sicherheitsbewusstseins und sicherer Programmierkenntnisse in der weltweiten Entwicklergemeinschaft.
Lassen Sie uns einen Blick auf die CVEs werfen:
DieVerwundbarkeitskette ist weit verbreitet und wirkt sich derzeit auf alle aktuellen und früheren Versionen der folgenden Pakete aus:
- distrotech/becher-filter
- OpenPrinting/Tassen-Filter
- Cups-browsed
- libcupsfilters
- libppd
CUPS ist seit über zwei Jahrzehnten eine Legacy-Komponente von UNIX- und Linux-Betriebssystemen. Aufgrund seiner Funktion als Abhängigkeit von Druckdiensten ist es sehr anfällig für Netzwerkanfragen, was es zu einem bevorzugten Ziel für Schwachstellen der RCE-Klasse macht.
In diesem Fall gibt es jedoch eine raffinierte Kombination der Angriffe, die zu einem erfolgreichen Ergebnis führt. Im Wesentlichen handelt es sich um die Fähigkeit eines nicht authentifizierten, unentdeckten Angreifers, IPP-URLs (Internet Printing Protocol) durch bösartige URLs zu ersetzen und zusätzlich Direktiven zu ändern, die eine Befehlsinjektion in die PPD-Datei (PostScript Printer Description) bewirken können, eine Datei, die die Funktionen des neu hinzugefügten Druckers beschreibt. Dies führt zu einem Angriff zur Befehlsausführung, sobald ein Druckauftrag aktiviert wird, und beruht auf einer fehlenden Eingabevalidierung innerhalb der CUPS-Komponenten.
Außerdem ist die Behebung dieser speziellen Schwachstelle eine Art zweischneidiges Schwert, wie Evilsocket betont. CUPS enthält den foomatic-rip-Filter, eine ausführbare Datei, die bereits in der Vergangenheit als hochriskante, ausnutzbare Komponente bekannt war. CVEs, die sich auf diese Komponente beziehen, reichen bis ins Jahr 2011 zurück, und obwohl festgestellt wurde, dass foomatic-rip zur Ausführung von Betriebssystembefehlen genutzt werden kann, führt die Behebung dieses Problems zu Stabilitätsproblemen und zum Verlust der Unterstützung für viele ältere Drucker. Es ist ein komplexes Problem, das es zu lösen gilt.

- Der Bedrohungsakteur initiiert den Angriff
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- Das Opfersystem verarbeitet die Druckereigenschaften
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- Das Opfersystem verbindet sich mit dem IPP-Server des Angreifers
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
Wie können Sie das RCE-Risiko mindern?
Unternehmen, die CUPS im Rahmen ihres Geschäftsbetriebs einsetzen, müssen die empfohlenen Abhilfemaßnahmen von Evilsocket und RedHat befolgen. Dazu gehört unter anderem das Einspielen von Sicherheitspatches als Priorität für den Notfall.
Für Command Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Wenn Sie an weiteren kostenlosen Kodierungsrichtlinien interessiert sind, besuchen Sie Secure Code Coach, um sich über die besten Praktiken für sichere Kodierung zu informieren.


Entdecken Sie die neuesten Sicherheitsprobleme, mit denen Linux-Benutzer konfrontiert sind, indem wir die jüngsten hochgradigen Sicherheitslücken im Common UNIX Printing System (CUPS) untersuchen. Erfahren Sie, wie diese Probleme zu einer möglichen Remote Code Execution (RCE) führen können und was Sie tun können, um Ihre Systeme zu schützen.

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenLaura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und beschäftigt sich mit der Erforschung von Schwachstellen und der Erstellung von Inhalten für Missions und Coding Labs.


Linux-Benutzer hatten es in letzter Zeit nicht leicht, denn in den letzten Jahren wurden mehrere hochgradige Sicherheitslücken bekannt, die das System auf unterschiedliche Weise beeinträchtigen. Sicherheitsforscher haben nun eine weitere Gruppe von Schwachstellen zu entpacken, die alle mit der Funktion Common UNIX Printing System (CUPS) zu tun haben, die auf GNU/Linux-Systeme abzielt und einen potenziellen Weg für eine starke Remote Code Execution (RCE) bietet.
Am 27. September 2024 veröffentlichte Simone Margaritelli von evilsocket.net kritische Informationen über mehrere ausnutzbare Schwachstellen in CUPS, wobei vier davon CVEs zugewiesen wurden. Diese Zahl könnte noch steigen, aber zum Zeitpunkt der Erstellung dieses Artikels diskutiert die Sicherheitsgemeinschaft über den tatsächlichen Schweregrad dieser Entdeckungen. Während eine der CVEs, CVE-2024-47177, von MITRE derzeit als kritisch eingestuft wird, ist die erfolgreiche Manipulation dieses Befehlsinjektionsfehlers von Servern abhängig, auf denen der CUPS-Dienst aktiviert ist, und erfordert außerdem Zugriff auf den UDP-Port 631 oder DNS-SD. RedHat weist jedoch darauf hin, dass es möglich ist, CUPS auf einen anderen Port umzuleiten.
Margaritellis umfassende Aufschlüsselung des Vorfalls offenbart eine heimtückische, komplexe Kette von Angriffen, die trotz der Meinungsverschiedenheiten in der Community nicht ignoriert werden sollte. Der Vorfall bietet uns eine Lektion darüber, dass scheinbar harmlose Abhängigkeiten ausgenutzt werden können, wenn ein Bedrohungsakteur entschlossen genug ist und wenn durch schlechte Codierungsmuster kleine Zeitfenster offen gelassen wurden.
Das CUPS-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, also lassen Sie uns einen Blick darauf werfen und Ihre Fähigkeiten auf diesem Weg testen.
Die Sicherheitslücke: Remote Code Execution (RCE) über CUPS
Der Evilsocket-Blog bietet einen unübertroffenen, gründlichen Hintergrund zu diesen Exploits, und wir werden diese Quelle weiterhin aufmerksam verfolgen. Margaritelli zitiert in seinem Artikel auch eine ungenannte Quelle, die sich nicht optimistisch über die allgemeine Sicherheitsstabilität von Linux äußert:
"Vom allgemeinen Sicherheitsstandpunkt aus gesehen ist ein ganzes Linux-System in seiner heutigen Form nur ein endloses und hoffnungsloses Durcheinander von Sicherheitslücken, die darauf warten, ausgenutzt zu werden."
Dies ist eine ernüchternde Erinnerung an die inhärenten Sicherheitsrisiken, die in Open-Source-Umgebungen nach wie vor vorherrschen, ganz zu schweigen von der dringenden Notwendigkeit eines erhöhten Sicherheitsbewusstseins und sicherer Programmierkenntnisse in der weltweiten Entwicklergemeinschaft.
Lassen Sie uns einen Blick auf die CVEs werfen:
DieVerwundbarkeitskette ist weit verbreitet und wirkt sich derzeit auf alle aktuellen und früheren Versionen der folgenden Pakete aus:
- distrotech/becher-filter
- OpenPrinting/Tassen-Filter
- Cups-browsed
- libcupsfilters
- libppd
CUPS ist seit über zwei Jahrzehnten eine Legacy-Komponente von UNIX- und Linux-Betriebssystemen. Aufgrund seiner Funktion als Abhängigkeit von Druckdiensten ist es sehr anfällig für Netzwerkanfragen, was es zu einem bevorzugten Ziel für Schwachstellen der RCE-Klasse macht.
In diesem Fall gibt es jedoch eine raffinierte Kombination der Angriffe, die zu einem erfolgreichen Ergebnis führt. Im Wesentlichen handelt es sich um die Fähigkeit eines nicht authentifizierten, unentdeckten Angreifers, IPP-URLs (Internet Printing Protocol) durch bösartige URLs zu ersetzen und zusätzlich Direktiven zu ändern, die eine Befehlsinjektion in die PPD-Datei (PostScript Printer Description) bewirken können, eine Datei, die die Funktionen des neu hinzugefügten Druckers beschreibt. Dies führt zu einem Angriff zur Befehlsausführung, sobald ein Druckauftrag aktiviert wird, und beruht auf einer fehlenden Eingabevalidierung innerhalb der CUPS-Komponenten.
Außerdem ist die Behebung dieser speziellen Schwachstelle eine Art zweischneidiges Schwert, wie Evilsocket betont. CUPS enthält den foomatic-rip-Filter, eine ausführbare Datei, die bereits in der Vergangenheit als hochriskante, ausnutzbare Komponente bekannt war. CVEs, die sich auf diese Komponente beziehen, reichen bis ins Jahr 2011 zurück, und obwohl festgestellt wurde, dass foomatic-rip zur Ausführung von Betriebssystembefehlen genutzt werden kann, führt die Behebung dieses Problems zu Stabilitätsproblemen und zum Verlust der Unterstützung für viele ältere Drucker. Es ist ein komplexes Problem, das es zu lösen gilt.

- Der Bedrohungsakteur initiiert den Angriff
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- Das Opfersystem verarbeitet die Druckereigenschaften
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- Das Opfersystem verbindet sich mit dem IPP-Server des Angreifers
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
Wie können Sie das RCE-Risiko mindern?
Unternehmen, die CUPS im Rahmen ihres Geschäftsbetriebs einsetzen, müssen die empfohlenen Abhilfemaßnahmen von Evilsocket und RedHat befolgen. Dazu gehört unter anderem das Einspielen von Sicherheitspatches als Priorität für den Notfall.
Für Command Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Wenn Sie an weiteren kostenlosen Kodierungsrichtlinien interessiert sind, besuchen Sie Secure Code Coach, um sich über die besten Praktiken für sichere Kodierung zu informieren.

Linux-Benutzer hatten es in letzter Zeit nicht leicht, denn in den letzten Jahren wurden mehrere hochgradige Sicherheitslücken bekannt, die das System auf unterschiedliche Weise beeinträchtigen. Sicherheitsforscher haben nun eine weitere Gruppe von Schwachstellen zu entpacken, die alle mit der Funktion Common UNIX Printing System (CUPS) zu tun haben, die auf GNU/Linux-Systeme abzielt und einen potenziellen Weg für eine starke Remote Code Execution (RCE) bietet.
Am 27. September 2024 veröffentlichte Simone Margaritelli von evilsocket.net kritische Informationen über mehrere ausnutzbare Schwachstellen in CUPS, wobei vier davon CVEs zugewiesen wurden. Diese Zahl könnte noch steigen, aber zum Zeitpunkt der Erstellung dieses Artikels diskutiert die Sicherheitsgemeinschaft über den tatsächlichen Schweregrad dieser Entdeckungen. Während eine der CVEs, CVE-2024-47177, von MITRE derzeit als kritisch eingestuft wird, ist die erfolgreiche Manipulation dieses Befehlsinjektionsfehlers von Servern abhängig, auf denen der CUPS-Dienst aktiviert ist, und erfordert außerdem Zugriff auf den UDP-Port 631 oder DNS-SD. RedHat weist jedoch darauf hin, dass es möglich ist, CUPS auf einen anderen Port umzuleiten.
Margaritellis umfassende Aufschlüsselung des Vorfalls offenbart eine heimtückische, komplexe Kette von Angriffen, die trotz der Meinungsverschiedenheiten in der Community nicht ignoriert werden sollte. Der Vorfall bietet uns eine Lektion darüber, dass scheinbar harmlose Abhängigkeiten ausgenutzt werden können, wenn ein Bedrohungsakteur entschlossen genug ist und wenn durch schlechte Codierungsmuster kleine Zeitfenster offen gelassen wurden.
Das CUPS-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, also lassen Sie uns einen Blick darauf werfen und Ihre Fähigkeiten auf diesem Weg testen.
Die Sicherheitslücke: Remote Code Execution (RCE) über CUPS
Der Evilsocket-Blog bietet einen unübertroffenen, gründlichen Hintergrund zu diesen Exploits, und wir werden diese Quelle weiterhin aufmerksam verfolgen. Margaritelli zitiert in seinem Artikel auch eine ungenannte Quelle, die sich nicht optimistisch über die allgemeine Sicherheitsstabilität von Linux äußert:
"Vom allgemeinen Sicherheitsstandpunkt aus gesehen ist ein ganzes Linux-System in seiner heutigen Form nur ein endloses und hoffnungsloses Durcheinander von Sicherheitslücken, die darauf warten, ausgenutzt zu werden."
Dies ist eine ernüchternde Erinnerung an die inhärenten Sicherheitsrisiken, die in Open-Source-Umgebungen nach wie vor vorherrschen, ganz zu schweigen von der dringenden Notwendigkeit eines erhöhten Sicherheitsbewusstseins und sicherer Programmierkenntnisse in der weltweiten Entwicklergemeinschaft.
Lassen Sie uns einen Blick auf die CVEs werfen:
DieVerwundbarkeitskette ist weit verbreitet und wirkt sich derzeit auf alle aktuellen und früheren Versionen der folgenden Pakete aus:
- distrotech/becher-filter
- OpenPrinting/Tassen-Filter
- Cups-browsed
- libcupsfilters
- libppd
CUPS ist seit über zwei Jahrzehnten eine Legacy-Komponente von UNIX- und Linux-Betriebssystemen. Aufgrund seiner Funktion als Abhängigkeit von Druckdiensten ist es sehr anfällig für Netzwerkanfragen, was es zu einem bevorzugten Ziel für Schwachstellen der RCE-Klasse macht.
In diesem Fall gibt es jedoch eine raffinierte Kombination der Angriffe, die zu einem erfolgreichen Ergebnis führt. Im Wesentlichen handelt es sich um die Fähigkeit eines nicht authentifizierten, unentdeckten Angreifers, IPP-URLs (Internet Printing Protocol) durch bösartige URLs zu ersetzen und zusätzlich Direktiven zu ändern, die eine Befehlsinjektion in die PPD-Datei (PostScript Printer Description) bewirken können, eine Datei, die die Funktionen des neu hinzugefügten Druckers beschreibt. Dies führt zu einem Angriff zur Befehlsausführung, sobald ein Druckauftrag aktiviert wird, und beruht auf einer fehlenden Eingabevalidierung innerhalb der CUPS-Komponenten.
Außerdem ist die Behebung dieser speziellen Schwachstelle eine Art zweischneidiges Schwert, wie Evilsocket betont. CUPS enthält den foomatic-rip-Filter, eine ausführbare Datei, die bereits in der Vergangenheit als hochriskante, ausnutzbare Komponente bekannt war. CVEs, die sich auf diese Komponente beziehen, reichen bis ins Jahr 2011 zurück, und obwohl festgestellt wurde, dass foomatic-rip zur Ausführung von Betriebssystembefehlen genutzt werden kann, führt die Behebung dieses Problems zu Stabilitätsproblemen und zum Verlust der Unterstützung für viele ältere Drucker. Es ist ein komplexes Problem, das es zu lösen gilt.

- Der Bedrohungsakteur initiiert den Angriff
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- Das Opfersystem verarbeitet die Druckereigenschaften
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- Das Opfersystem verbindet sich mit dem IPP-Server des Angreifers
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
Wie können Sie das RCE-Risiko mindern?
Unternehmen, die CUPS im Rahmen ihres Geschäftsbetriebs einsetzen, müssen die empfohlenen Abhilfemaßnahmen von Evilsocket und RedHat befolgen. Dazu gehört unter anderem das Einspielen von Sicherheitspatches als Priorität für den Notfall.
Für Command Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Wenn Sie an weiteren kostenlosen Kodierungsrichtlinien interessiert sind, besuchen Sie Secure Code Coach, um sich über die besten Praktiken für sichere Kodierung zu informieren.

Klicken Sie auf den unten stehenden Link und laden Sie die PDF-Datei dieser Ressource herunter.
Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Bericht ansehenDemo buchenLaura Verheyde ist Softwareentwicklerin bei Secure Code Warrior und beschäftigt sich mit der Erforschung von Schwachstellen und der Erstellung von Inhalten für Missions und Coding Labs.
Linux-Benutzer hatten es in letzter Zeit nicht leicht, denn in den letzten Jahren wurden mehrere hochgradige Sicherheitslücken bekannt, die das System auf unterschiedliche Weise beeinträchtigen. Sicherheitsforscher haben nun eine weitere Gruppe von Schwachstellen zu entpacken, die alle mit der Funktion Common UNIX Printing System (CUPS) zu tun haben, die auf GNU/Linux-Systeme abzielt und einen potenziellen Weg für eine starke Remote Code Execution (RCE) bietet.
Am 27. September 2024 veröffentlichte Simone Margaritelli von evilsocket.net kritische Informationen über mehrere ausnutzbare Schwachstellen in CUPS, wobei vier davon CVEs zugewiesen wurden. Diese Zahl könnte noch steigen, aber zum Zeitpunkt der Erstellung dieses Artikels diskutiert die Sicherheitsgemeinschaft über den tatsächlichen Schweregrad dieser Entdeckungen. Während eine der CVEs, CVE-2024-47177, von MITRE derzeit als kritisch eingestuft wird, ist die erfolgreiche Manipulation dieses Befehlsinjektionsfehlers von Servern abhängig, auf denen der CUPS-Dienst aktiviert ist, und erfordert außerdem Zugriff auf den UDP-Port 631 oder DNS-SD. RedHat weist jedoch darauf hin, dass es möglich ist, CUPS auf einen anderen Port umzuleiten.
Margaritellis umfassende Aufschlüsselung des Vorfalls offenbart eine heimtückische, komplexe Kette von Angriffen, die trotz der Meinungsverschiedenheiten in der Community nicht ignoriert werden sollte. Der Vorfall bietet uns eine Lektion darüber, dass scheinbar harmlose Abhängigkeiten ausgenutzt werden können, wenn ein Bedrohungsakteur entschlossen genug ist und wenn durch schlechte Codierungsmuster kleine Zeitfenster offen gelassen wurden.
Das CUPS-Szenario unterscheidet sich ein wenig von dem, was viele Entwickler und AppSec-Profis bisher erlebt haben, also lassen Sie uns einen Blick darauf werfen und Ihre Fähigkeiten auf diesem Weg testen.
Die Sicherheitslücke: Remote Code Execution (RCE) über CUPS
Der Evilsocket-Blog bietet einen unübertroffenen, gründlichen Hintergrund zu diesen Exploits, und wir werden diese Quelle weiterhin aufmerksam verfolgen. Margaritelli zitiert in seinem Artikel auch eine ungenannte Quelle, die sich nicht optimistisch über die allgemeine Sicherheitsstabilität von Linux äußert:
"Vom allgemeinen Sicherheitsstandpunkt aus gesehen ist ein ganzes Linux-System in seiner heutigen Form nur ein endloses und hoffnungsloses Durcheinander von Sicherheitslücken, die darauf warten, ausgenutzt zu werden."
Dies ist eine ernüchternde Erinnerung an die inhärenten Sicherheitsrisiken, die in Open-Source-Umgebungen nach wie vor vorherrschen, ganz zu schweigen von der dringenden Notwendigkeit eines erhöhten Sicherheitsbewusstseins und sicherer Programmierkenntnisse in der weltweiten Entwicklergemeinschaft.
Lassen Sie uns einen Blick auf die CVEs werfen:
DieVerwundbarkeitskette ist weit verbreitet und wirkt sich derzeit auf alle aktuellen und früheren Versionen der folgenden Pakete aus:
- distrotech/becher-filter
- OpenPrinting/Tassen-Filter
- Cups-browsed
- libcupsfilters
- libppd
CUPS ist seit über zwei Jahrzehnten eine Legacy-Komponente von UNIX- und Linux-Betriebssystemen. Aufgrund seiner Funktion als Abhängigkeit von Druckdiensten ist es sehr anfällig für Netzwerkanfragen, was es zu einem bevorzugten Ziel für Schwachstellen der RCE-Klasse macht.
In diesem Fall gibt es jedoch eine raffinierte Kombination der Angriffe, die zu einem erfolgreichen Ergebnis führt. Im Wesentlichen handelt es sich um die Fähigkeit eines nicht authentifizierten, unentdeckten Angreifers, IPP-URLs (Internet Printing Protocol) durch bösartige URLs zu ersetzen und zusätzlich Direktiven zu ändern, die eine Befehlsinjektion in die PPD-Datei (PostScript Printer Description) bewirken können, eine Datei, die die Funktionen des neu hinzugefügten Druckers beschreibt. Dies führt zu einem Angriff zur Befehlsausführung, sobald ein Druckauftrag aktiviert wird, und beruht auf einer fehlenden Eingabevalidierung innerhalb der CUPS-Komponenten.
Außerdem ist die Behebung dieser speziellen Schwachstelle eine Art zweischneidiges Schwert, wie Evilsocket betont. CUPS enthält den foomatic-rip-Filter, eine ausführbare Datei, die bereits in der Vergangenheit als hochriskante, ausnutzbare Komponente bekannt war. CVEs, die sich auf diese Komponente beziehen, reichen bis ins Jahr 2011 zurück, und obwohl festgestellt wurde, dass foomatic-rip zur Ausführung von Betriebssystembefehlen genutzt werden kann, führt die Behebung dieses Problems zu Stabilitätsproblemen und zum Verlust der Unterstützung für viele ältere Drucker. Es ist ein komplexes Problem, das es zu lösen gilt.

- Der Bedrohungsakteur initiiert den Angriff
- CVE-2024-47176: cups-browsed <= 2.0.1 is vulnerable because it binds to UDP port 631 using INADDR_ANY, which means it trusts any packet received from any source. This allows an unauthenticated remote attacker to send a malicious UDP packet with a manipulated IPP URL (pointing to the attacker-controlled IPP server), triggering the vulnerability. The victim’s machine now thinks it’s connecting to a new printer and sends a request asking for printer attributes.
- Das Opfersystem verarbeitet die Druckereigenschaften
- CVE-2024-47076: libcupsfilters <= 2.1b1 has a vulnerability in cfGetPrinterAttributes5, which does not properly validate or sanitize the IPP attributes returned from an IPP server. When cups-browsed processes the packet, it can be tricked into reading malicious attributes sent by the attacker.
- Das Opfersystem verbindet sich mit dem IPP-Server des Angreifers
- CVE-2024-47175: libppd <= 2.1b1 in the ppdCreatePPDFromIPP2 function does not properly validate or sanitize IPP attributes when saving them to a temporary PPD (PostScript Printer Description) file. This allows the attacker to inject arbitrary data into a PPD file, including the FoomaticRIPCommandLine directive, which the printing system can later execute.
- Victim system initiates print job and attacker’s code is executed
CVE-2024-47177: cups-filters <= 2.0.1 is vulnerable because the foomatic-rip filter executes arbitrary commands through the FoomaticRIPCommandLine directive, allowing the attacker to run commands as the cups-browsed process. The attacker waits for the victim’s machine to initiate a print job. The moment this happens, the attacker’s malicious code will be executed (Remote Code Execution).
Wie können Sie das RCE-Risiko mindern?
Unternehmen, die CUPS im Rahmen ihres Geschäftsbetriebs einsetzen, müssen die empfohlenen Abhilfemaßnahmen von Evilsocket und RedHat befolgen. Dazu gehört unter anderem das Einspielen von Sicherheitspatches als Priorität für den Notfall.
Für Command Injection im Allgemeinen lesen Sie bitte unseren umfassenden Leitfaden.
Wenn Sie an weiteren kostenlosen Kodierungsrichtlinien interessiert sind, besuchen Sie Secure Code Coach, um sich über die besten Praktiken für sichere Kodierung zu informieren.
Inhaltsübersicht

Secure Code Warrior ist für Ihr Unternehmen da, um Sie dabei zu unterstützen, Ihren Code über den gesamten Lebenszyklus der Softwareentwicklung hinweg zu sichern und eine Kultur zu schaffen, in der Cybersicherheit an erster Stelle steht. Ganz gleich, ob Sie AppSec-Manager, Entwickler, CISO oder ein anderer Sicherheitsverantwortlicher sind, wir können Ihrem Unternehmen helfen, die mit unsicherem Code verbundenen Risiken zu reduzieren.
Demo buchenHerunterladenRessourcen für den Einstieg
Auf dem Weg zu Gold: Steigende Standards für sicheren Code bei Paysafe
Sehen Sie, wie die Partnerschaft von Paysafe mit Secure Code Warrior die Produktivität der Entwickler um 45 % steigerte und die Zahl der Code-Schwachstellen erheblich reduzierte.
Die Macht der Marke in AppSec DevSec DevSecOps (Was ist in einem Acrynym!?)
Für eine dauerhafte Wirkung von AppSec-Programmen braucht es mehr als nur Technik - es braucht eine starke Marke. Eine starke Identität stellt sicher, dass Ihre Initiativen auf Resonanz stoßen und ein nachhaltiges Engagement innerhalb Ihrer Entwicklergemeinschaft fördern.
Vertrauensagent: AI von Secure Code Warrior
Dieser One-Pager stellt den SCW Trust Agent: AI vor, eine neue Reihe von Funktionen, die tiefgreifende Beobachtbarkeit und Kontrolle über KI-Codierwerkzeuge bieten. Erfahren Sie, wie unsere Lösung die Nutzung von KI-Tools mit den Fähigkeiten von Entwicklern korreliert, um Sie beim Risikomanagement zu unterstützen, Ihren SDLC zu optimieren und sicherzustellen, dass jede Zeile des von KI generierten Codes sicher ist.
Vibe Coding: Praktischer Leitfaden zur Aktualisierung Ihrer AppSec-Strategie für KI
In diesem On-Demand-Video erfahren Sie, wie AppSec-Manager durch einen praktischen Ansatz, bei dem die Schulung im Vordergrund steht, in die Lage versetzt werden, KI zu fördern, anstatt sie zu blockieren. Wir zeigen Ihnen, wie Sie Secure Code Warrior (SCW) nutzen können, um Ihre AppSec-Strategie strategisch für das Zeitalter der KI-Codierassistenten zu aktualisieren.
Ressourcen für den Einstieg
Sicheres Coding im Zeitalter der KI: Testen Sie unsere neuen interaktiven KI-Herausforderungen
KI-gestütztes Coding verändert die Entwicklung. Testen Sie unsere neuen KI-Herausforderungen im Copilot-Stil, um Code in realistischen Workflows sicher zu prüfen, zu analysieren und zu korrigieren.