CUPS trūkumai leidžia nuotoliniu būdu vykdyti „Linux“ kodą, tačiau yra kažkas


Tam tikromis sąlygomis užpuolikai gali sujungti pažeidžiamumų rinkinį keliuose CUPS atvirojo kodo spausdinimo sistemos komponentuose, kad nuotoliniu būdu pažeidžiamose mašinose vykdytų savavališką kodą.

Stebimi kaip CVE-2024-47076 (libcupsfiltrai), CVE-2024-47175 (libppd), CVE-2024-47176 (puodeliai-naršyti) ir CVE-2024-47177 (puodeliai-filtrai) ir atrado Simone Margaritellis. neturi įtakos sistemoms pagal numatytąją konfigūraciją.

CUPS (sutrumpinimas iš Common UNIX Printing System) yra plačiausiai naudojama spausdinimo sistema Linux sistemose, ji taip pat paprastai palaikoma įrenginiuose, kuriuose veikia į Unix panašios operacinės sistemos, tokios kaip FreeBSD, NetBSD ir OpenBSD bei jų dariniai.

Vienas iš jo komponentų yra puodelių naršymo demonas, kuris vietiniame tinkle ieško reklamuojamų tinklo arba bendrinamų spausdintuvų ir leidžia juos spausdinti aparate. Tai panašu į tai, kaip „Windows“ ir „Mac“ gali tinkle ieškoti nuotolinių tinklo spausdintuvų, kuriais būtų galima spausdinti.

Margaritelli nustatė, kad jei įjungtas puodelių naršymo demonas, kurio nėra daugelyje sistemų, jis klausys per UDP prievadą 631. Be to, pagal numatytuosius nustatymus jis leis nuotoliniu būdu prisijungti iš bet kurio tinklo įrenginio, kad būtų sukurtas naujas spausdintuvas.

Jis atrado, kad gali sukurti kenkėjišką „PostScript Printer Description“ (PPD) spausdintuvą, kurį būtų galima rankiniu būdu reklamuoti atviroje taurėse naršomai paslaugai, veikiančiai UDP 631 prievadu.

Dėl to nuotolinis įrenginys automatiškai įdiegs kenkėjišką spausdintuvą ir padarys jį prieinamą spausdinimui. Jei vartotojas šiame atvirame serveryje spausdina nauju spausdintuvu, kenkėjiška komanda PPD bus vykdoma vietoje kompiuteryje.

Komanda, kurią reikia vykdyti spausdinant, pridedama per foomatic-rip filtrą, kuris vykdo komandas įrenginyje, kad spausdinimo užduotis būtų pateikta teisingai.

Komandos pridėtos naudojant foomatic-rip filtrą
Komandos pridėtos naudojant foomatic-rip filtrą (Simone Margaritelli)

Ribotas poveikis pasauliui

Nors tai yra nuotolinio kodo vykdymo grandinė, nuo pat pradžių reikia pažymėti, kad užpuolikai turi įveikti tam tikras kliūtis, kad galėtų išnaudoti pažeidžiamumą ir iš tikrųjų pasiekti nuotolinį kodo vykdymą.

Pirma, tikslinėse sistemose turi būti įjungtas puodelių naršymo demonas, kuris paprastai nėra įjungtas pagal numatytuosius nustatymus, kad tinkle būtų rodomi UDP prievadai. Tada užpuolikas turi apgauti vartotoją, kad šis spausdintų iš kenkėjiško spausdintuvo serverio vietiniame tinkle, kuris staiga pasirodo jo kompiuteryje.

„Tai yra klaidų grandinė, kuri priklauso nuo jūsų vietinio tinklo spausdintuvo klastojimo, kuris automatiškai pridedamas per tinklo aptikimą, jei jis apskritai įjungtas – paprastai ne pagal numatytąją konfigūraciją. Tada nepatvirtintas kintamasis, naudojamas kitiems pažeidžiamumui išnaudoti CUPS sistemoje, kad būtų vykdomas kodas, bet tik tada, kai suaktyvinama spausdinimo užduotis“, – sakė „Sonatype“ srities CTO Ilkka Turunen.

„Geros naujienos – tai RCE, bet su keletu švelninimo priemonių, įskaitant tai, kad užpuolikas turi turėti galimybę prisijungti prie kompiuterio per UDP, kuris yra plačiai išjungtas įeinant į tinklą, o paslauga paprastai neįjungta pagal numatytuosius nustatymus. realaus pasaulio poveikis yra mažas“.

Dėl šių priežasčių „Red Hat“ įvertino trūkumus kaip „svarbų“, o ne kritinį.

Nors „BleepingComputer“ testai parodė, kad daugumoje mūsų „Linux“ serverių paslauga nebuvo įjungta pagal numatytuosius nustatymus, viena iš mūsų „Ubuntu“ VM tai padarė.. Kiti socialiniame tinkle „Twitter“ taip pat pažymėjo, kad jų „Linux“ įrenginiuose pagal numatytuosius nustatymus buvo įjungtas puodelių naršymas.

Pleistrų nėra, bet yra mažinimo priemonių

Kol pataisos vis dar kuriamos, „Red Hat“ pasidalijo mažinimo priemonėmis, reikalaujančiomis, kad administratoriai sustabdytų puodelių naršymo paslaugą ir neleistų jos paleisti iš naujo, naudojant šias komandas, kad nutrauktų išnaudojimo grandinę:


sudo systemctl stop cups-browsed
sudo systemctl disable cups-browsed

„Red Hat“ vartotojai taip pat gali naudoti šią komandą, kad sužinotų, ar jų sistemose veikia cups-browsed:


sudo systemctl status cups-browsed

Jei rezultate rodoma „Active: inactive (dead)“, tada išnaudojimo grandinė sustabdoma ir sistema nėra pažeidžiama. Jei rezultate rodoma „veikia“ arba „įjungta“, o direktyvoje „BrowseRemoteProtocols“ yra reikšmė „cups“ konfigūracijos faile /etc/cups/cups-browsed.conf, sistema yra pažeidžiama.



Source link

Draugai: - Marketingo agentūra - Teisinės konsultacijos - Skaidrių skenavimas - Fotofilmų kūrimas - Miesto naujienos - Šeimos gydytojai - Saulius Narbutas - Įvaizdžio kūrimas - Veidoskaita - Nuotekų valymo įrenginiai - Teniso treniruotės - Pranešimai spaudai -