Biztonsági rések az elterjedt nyomtatási alrendszerben

kami911 képe

Az elmúlt napokban egy komoly Linux biztonsági résről szivárogtak hírek a közösségi médiában, és a mai napon hivatalosan is bejelentették. A CUPS (Common UNIX Printing System) nyomtatási rendszerében felfedezett távvezérelhető kódvégrehajtási hiba minden jelentős Linux disztribúciót érint, köztük az Ubuntut és a Chrome OS-t is.

Azonnal kellene frissíteni

A sebezhetőség súlyossági értéke 9,9, amely a legkritikusabb kategóriába sorolja a hibát. A Canonical biztonsági blogja szerint a hibát úgy lehet kihasználni, hogy egy támadó által vezérelt PPD (PostScript Printer Description) fájlt generálnak a CUPS számára, amely egy tetszőleges parancsot futtat, amikor a következő nyomtatási feladat elindul.

Hogyan működik a támadás?

A hibát Simone Margaritelli fedezte fel, aki hosszú ideig küzdött azért, hogy a biztonsági rést kellően komolyan vegyék. A támadók képesek távolról, hitelesítés nélkül kihasználni a sebezhetőséget, akár egy egyszerű UDP csomag küldésével a 631-es portra. Hálózaton belül zeroconf, mDNS vagy DNS-SD hirdetések hamisításával is végrehajtható a támadás.

A Red Hat lépésről lépésre bemutatja, hogyan zajlik a támadási folyamat:

  • A cups-browsed szolgáltatás kézzel engedélyezve vagy el van indítva.
  • A támadónak hozzáférése van egy sérülékeny szerverhez:
    • nyilvános internetes hozzáférés vagy
    • belső hálózati hozzáférés esetén.
  • A támadó egy rosszindulatú IPP (Internet Printing Protocol) szervert hirdet meg, amely egy hamis nyomtatót regisztrál.
  • Az áldozat megpróbál nyomtatni erről az eszközről.
  • A támadó tetszőleges kódot futtat az áldozat gépén.

Mit tehetünk?

A probléma súlyossága ellenére jó hír, hogy a Canonical és a legtöbb Linux terjesztés szállítója már kiadta a szükséges biztonsági frissítéseket az érintett csomagokhoz (cups-browsed, cups-filters, libcupsfilters és libppd). Ezek a frissítések hamarosan elérhetővé válnak minden támogatott Ubuntu kiadáshoz.

Tehát a megoldások:

  • Távolítsd el a cups-browsed szolgáltatást, ha nincs rá szükséged.
  • Frissítsd a CUPS csomagot a rendszereden.
  • Ha a rendszered nem frissíthető, blokkolj minden forgalmat a 631-es UDP portra és a DNS-SD forgalmat.

Aki tűzfalat vagy NAT routert használ, valószínűleg sosem volt kitéve a támadásnak. Azok számára pedig, akiknek automatikus frissítések vannak engedélyezve, a frissítések már települtek is. Azonban érdemes egy újraindítást végezni a gépen, hogy minden változás érvénybe lépjen. A Margaritelli által feltárt probléma rávilágít arra, hogy mennyire fontos a nyomtatási szolgáltatások biztonságos beállítása, különösen nyilvános vagy nagyvállalati hálózatok esetén.

Javított verziók

A sebezhetőségek egy távoli, hitelesítést nem igénylő támadó számára lehetővé teszik, hogy meglévő nyomtatók IPP URL-jeit rosszindulatúra cserélje, vagy új nyomtatókat telepítsen. Ez lehetővé teszi kártékony kód végrehajtását a nyomtatási folyamat során.

  • CVE-2024-47176: A cups-browsed ≤ 2.0.1 szolgáltatás az UDP INADDR_ANY:631 porton hallgat, megbízik bármely csomagban, ami egy támadó által vezérelt URL-re küld IPP kéréseket.
  • CVE-2024-47076: A libcupsfilters ≤ 2.1b1 verziójában a cfGetPrinterAttributes5 függvény nem ellenőrzi vagy tisztítja az IPP szerver által visszaküldött attribútumokat, amelyek kártékony adatokat szolgáltathatnak a CUPS rendszer többi részébe.
  • CVE-2024-47175: A libppd ≤ 2.1b1 verziójában a ppdCreatePPDFromIPP2 függvény nem ellenőrzi vagy tisztítja az IPP attribútumokat, amikor azokat egy ideiglenes PPD fájlba írja, lehetővé téve rosszindulatú adatok beszúrását.
  • CVE-2024-47177: A cups-filters ≤ 2.0.1 verziójában a foomatic-rip lehetőséget biztosít tetszőleges parancsok végrehajtására a FoomaticRIPCommandLine PPD paraméteren keresztül.

Érintett rendszerek

A CUPS és különösen a cups-browsed szolgáltatás szinte minden UNIX alapú rendszerre csomagolva van, ideértve:

  • A legtöbb GNU/Linux disztribúciót
  • Egyes BSD rendszereket
  • Google Chromium / ChromeOS
  • Oracle Solaris

Frissítésre fel!

Javasolt, hogy frissítse az összes csomagot, majd indítsa újra a CUPS démont - Linux Mint, Ubuntu, Debian alatt így::

sudo apt update && sudo apt upgrade
sudo systemctl restart cups.service

Ha ez nem lehetséges, akkor az érintett komponenseket célzottan érdemes frissíteni:

sudo apt update && sudo apt install --only-upgrade cups-browsed cups-filters cups-filters-core-drivers libcupsfilters2t64 libppd2 libppd-utils ppdc 
sudo systemctl restart cups

Enyhítési lépések

A következő lépések megakadályozzák a nyomtatási szerver új hálózati nyomtatók észlelését, és megállítják a kártékony PPD fájlok befecskendezését:

  1. Szerkessze az /etc/cups/cups-browsed.conf fájlt.
  2. Keresse meg a BrowseRemoteProtocols konfigurációs opciót.
  3. Állítsa az értéket none-ra (az alapértelmezett érték „dnssd cups”).
  4. Indítsa újra a cups-browsed szolgáltatást a következő paranccsal:
    systemctl restart cups-browsed.

Ezek a lépések segítenek csökkenteni a támadási felületet, amíg a szükséges biztonsági frissítéseket alkalmazzák.

További információk

https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/
https://github.com/OpenPrinting/libcupsfilters/security/advisories/GHSA-w63j-6g73-wmg5
https://github.com/OpenPrinting/libppd/security/advisories/GHSA-7xfx-47qg-grp6
https://github.com/OpenPrinting/cups-browsed/security/advisories/GHSA-rj88-6mr5-rcw8
https://github.com/OpenPrinting/cups-filters/security/advisories/GHSA-p9rh-jxmq-gq47
https://ubuntu.com/security/CVE-2024-47076
https://ubuntu.com/security/CVE-2024-47175
https://ubuntu.com/security/CVE-2024-47176
https://ubuntu.com/security/CVE-2024-47177
https://ubuntu.com/security/notices/USN-7041-1
https://ubuntu.com/security/notices/USN-7042-1
https://ubuntu.com/security/notices/USN-7043-1
https://ubuntu.com/security/notices/USN-7044-1
https://ubuntu.com/security/notices/USN-7045-1
https://www.cve.org/CVERecord?id=CVE-2024-47076
https://www.cve.org/CVERecord?id=CVE-2024-47175
https://www.cve.org/CVERecord?id=CVE-2024-47176
https://www.cve.org/CVERecord?id=CVE-2024-47177