Včera jsme psali o tom, že Simone Margaritelli objevil vážnou zranitelnost z jedné z linuxových komponent. Podrobnosti se měly objevit až v říjnu, ale informace začaly prosakovat, takže se rozhodl vše zveřejnit dříve. Ukázalo se, že jde o zranitelnost v tiskovém subsystému CUPS, který dovoluje vzdáleně spustit útočníkův kód.
Jde o celkem čtyři zranitelnosti CVE-2024–47176, CVE-2024–47076, CVE-2024–47175 a CVE-2024–47177. Jejich spojením může útočník potenciálně dosáhnout vzdáleného spuštění kódu, což může vést ke krádeži citlivých dat a/nebo poškození kritických systémů. Další detaily uvádí ve svém oznámení Red Hat.
Okolnosti nutné k úspěšnému zneužití těchto zranitelností vyžadují splnění určitých podmínek. Útočník musí inzerovat škodlivou službu IPP (Internet Printing Protocol), která je pro oběť přístupná. Může to být na veřejném internetu nebo v rámci interní důvěryhodné sítě. Podle služby Shodan je takto z internetu dostupných minimálně 75 000 instancí tiskového démona CUPS.
Aby byl útok úspěšný, musí mít oběť spuštěnou službu cups-browsed, která vyhledává dostupné tiskárny. To útočníkovi umožňuje automaticky přidat vlastní definici tiskárny právě pomocí podvrženého serveru s IPP. V tomto okamžiku může útočník odeslat oběti libovolný kód jako součást konfigurace nové tiskárny. Oběť se poté musí pokusit tisknout ze škodlivého zařízení, aby se podvržený kód spustil. Kód navíc poběží pod neprivilegovaným uživatelem lp.
Ve zranitelných systémech je potřeba zkontrolovat, zda běží příslušná služba:
sudo systemctl status cups-browsed
Pokud ano, je třeba ji zastavit, dokud nebude k dispozici záplata. Druhou variantou je v /etc/cups/cups-browsed.conf
najít řádek s konfigurační volbou BrowseRemoteProtocols
, nastavit jej na none
a službu restartovat.