Het open-source CUPS printing system in Linux is kwetsbaar voor remote code execution (RCE). Daardoor kunnen hackers willekeurige code uitvoeren. Een patch voor dit probleem is nog niet beschikbaar, maar er zijn methoden om het probleem tijdelijk te verhelpen.
Uit onderzoek van securityexpert Simone Margaritelli blijkt dat het open-source Common Unix Printing System kwetsbaarheden bevat. De kwetsbaarheden in verschillende onderdelen van de printfunctionaliteit kunnen door hackers gecombineerd worden gebruikt voor een RCE-aanval, waarmee ze uiteindelijk willekeurige code kunnen uitvoeren op aangevallen systemen.
CUPS is de meest gebruikte printfunctionaliteit op Linux-systemen en wordt ook ondersteund door op Unix-gebaseerde besturingssystemen zoals FreeBSD, NetBSD, OpenBSD en hun afgeleiden.
Keten van kwetsbaarheden
De in CUPS ontdekte kwetsbaarheden zijn: CVE-2024-47076 (libcupsfilters), CVE-2024-47175 (libppd), CVE-2024-47176 (cups-browsed) en CVE-2024-47177 (cups-filters). Deze kwetsbaarheden zorgen doorgaans niet voor problemen in de standaardconfiguratie van systemen.
Uit onderzoek blijkt echter dat componenten van CUPS via deze kwetsbaarheden kunnen worden aangevallen. Margaritelli wijst vooral op de rol van de cups-browsed daemon.
Deze component zoekt in het lokale netwerk naar beschikbare netwerk- of gedeelde printers en maakt deze geschikt voor gebruik op de Linux-machine, vergelijkbaar met Windows of macOS. Wanneer deze functie aanstaat (wat niet op alle systemen het geval is), luistert het naar UDP-poort 631. Standaard staan remote-verbindingen toe dat elk device op het netwerk een nieuwe printer kan aanmaken. Op deze manier kan een ‘kwaadaardige printer’ worden aangemaakt en zichtbaar worden gemaakt in het netwerk op een cups-browsed device via UDP-poort 631.
Hierdoor wordt de kwaadaardige printer op afstand automatisch geïnstalleerd en klaargezet voor gebruik. Wanneer een gebruiker een afdruk naar deze printer stuurt, wordt het kwaadaardige commando in de PPD (PostScript Printer Description) lokaal op de computer uitgevoerd.
Dit commando wordt toegevoegd via een foomatic-rip filter, dat opdrachten uitvoert op devices om een printopdracht correct te verwerken.
Beperkte impact
Gelukkig is de kans dat deze RCE-aanval succesvol wordt uitgevoerd klein. Hackers moeten meerdere stappen doorlopen: cups-browsed daemon moet actief zijn, wat vaak niet standaard is, en gebruikers moeten worden verleid om naar de kwaadaardige printer te printen. Dit is lastig omdat gebruikers meestal een standaardprinter hebben ingesteld.
Daarnaast moet de getroffen computer via het netwerk verbinding maken met UDP, wat in veel netwerkconfiguraties is uitgeschakeld.
Experts beoordelen de impact van deze kwetsbaarheid daarom als beperkt, hoewel de kwetsbaarheid zelf wel als ‘belangrijk’ is gecategoriseerd.
Hoewel patches nog niet beschikbaar zijn, worden ze momenteel ontwikkeld. Red Hat heeft inmiddels een aantal workrounds gepubliceerd waarmee beheerders de cups-browsed dienst kunnen uitschakelen en voorkomen dat deze na een reboot opnieuw wordt gestart.
Lees ook: Sedexp-malware verbergt zich jarenlang ongezien in Linux-kernel