Kaugjuhtimise haavatavused CUPS-i printimisteenuses

Simone Margaritelli, OpenSnitch'i ja bettercap'i autor, avaldas ennetavalt teavet eelnevalt kuulutatud kriitiliste haavatavuste kohta, mis vĂ”imaldavad kaugelt rĂŒnnata GNU/Linuxi, Solaris, FreeBSD ja mitmeid teisi BSD-sĂŒsteeme. Algne avaldamise kuupĂ€ev oli 6. oktoober, kuid teabe lekke tĂ”ttu tuli see avaldada enne tĂ€htaega, enne kui enamik jaotusi suudab pakettide uuendamise ette valmistada. Haavatavused mĂ”jutavad CUPS-i printimisteenust ja vĂ”imaldavad kaugelt, ilma autentimiseta, saavutada koodi tĂ€itmine sĂŒsteemis.

Probleemi tuvastanud teadlane on valmistanud töötava eksploidiga prototĂŒĂŒbi, mis kasutab kombinatsiooni mitmest haavatavusest ja vĂ”imaldab kaugelt tĂ€ita koodi CUPS-i printimistööde töötlemise protsessi Ă”igustes (tavaliselt on see kasutaja 'lp'). Eksploid vĂ”imaldab mĂ€rkamatult asendada kasutaja printeri seadeid vĂ”i lisada uue printeri, mis on seotud kĂ€ivitatud rĂŒndaja IPP-serveriga, mis edastab spetsiaalselt vormindatud PPD-printeri kirjeldust. Selle PPD töötlemine printimistöö kĂ€ivitamise ajal viib rĂŒndaja koodi tĂ€itmiseni (on vajalik, et ohver kĂ€ivitaks printimise asendatud vĂ”i rĂŒndaja asendatud printerile).

RĂŒnnakule on haavatavad sĂŒsteemid, serverilt kus töötab CUPS-i printimisteenus ja kĂ€ivitatud protsess cups-browsed, mis aktsepteerib vĂ”rguĂŒhendusi 631 pordil (UDP). RĂŒnnakut on vĂ”imalik teostada ka kohalikus vĂ”rgus, kus ligipÀÀsuks kasutatakse serveri printimise protokolle zeroconf, mDNS vĂ”i DNS-SD. Haavatavad on ainult need cups-browsed konfiguratsioonid, kus failis /etc/cups/cups-browsed.conf parameetris BrowseRemoteProtocols on vÀÀrtuseks mÀÀratud 'cups'. Systemd-pĂ”histes jaotustes saab kontrollida cups-browsed teenuse kasutamist kĂ€suga 'sudo systemctl status cups-browsed'.

Haavatavus avaldub kĂ”igis CUPS-i pĂ”hjal kĂ€ivitatavates printerites, kus kasutatakse haavatavaid pakette cups-filters, libcupsfilters, libppd ja cups-browsed. Parandused on praegu saadaval ainult patch'ide kujul (1, 2, 3) — kehtivad versioonid cups-filters 2.0.1, libcupsfilters 2.1b1, libppd 2.1b1 ja cups-browsed 2.0.1 on haavatavad. Distro-des on probleem endiselt lahendamata; uuenduste ilmumist saab jĂ€lgida jĂ€rgnevatelt lehtedelt: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Kiiruslahenduseks kaitsemeetmena enne uuenduse installimist on vĂ”imalik sulgeda vĂ€listele vĂ”rkudele juurdepÀÀs UDP-pordile 631, keelata cups-browsed teenus vĂ”i seada BrowseRemoteProtocols seade vÀÀrtusele "none".

Tuletatud haavatavused:

  • CVE-2024-47176 — haavatavus cups-browsed protsessis, mis loob vĂ”rgu sokli, mis aktsepteerib ĂŒhendusi pordil 631, seotuna kĂ”igi sĂŒsteemis olemasolevate vĂ”rgu liideste ja aktsepteerib IPP-pĂ€ringuid "Get-Printer-Attributes" igalt vĂ€liselt sĂŒsteemilt. Selle teenuse manipuleerimise kaudu on vĂ”imalik lisada sĂŒsteemi printer, mida rĂŒndaja kontrollib, ning Ă€ra kasutada selle kaudu edastatavaid PPD-konfiguratsiooni haavatavusi CUPS-i teistes komponentides.
  • CVE-2024-47177 — haavatavus foomatic-rip protsessoris, mis kuulub cups-filters kompositsiooni, mis vĂ”imaldab koodi tĂ€itmist, edastades FoomaticRIPCommandLine parameetri PPD-failis, mille rĂŒndaja saab edastada tĂ€nu ĂŒlaltoodud haavatavusele cups-browsed teenuses. Parameetris FoomaticRIPCommandLine mÀÀratud shell-kĂ€sud tĂ€idetakse tĂ€pselt sellisena, ilma et arvestataks, et parameetri vĂ”ib seada vĂ€ljastpoolt. NĂ€iteks failisse /tmp/VULNERABLE kirjutamiseks saab mÀÀrata "FoomaticRIPCommandLine: "echo 1 > /tmp/VULNERABLE".
  • CVE-2024-47175 — haavatavus libppd-s, mis on pĂ”hjustatud ppdCreatePPDFromIPP2 vÀÀrtuse Ă”iguse kontrollimise puudumisest IPP-atribuutide kirjutamisel ajutisse PPD-faili. Probleem vĂ”imaldab toimetada suvalisi andmeid lĂ”plikku PPD-faili, lisades atribuute, kasutades reavahetusmĂ€rke. NĂ€iteks saab kontrolli vĂ€ltimiseks lĂŒlitada lisaks lubatud atribuutidele ka FoomaticRIPCommandLine atribuudi, et Ă€ra kasutada ĂŒlaltoodud haavatavust cups-filters-is.
  • CVE-2024-47076 — haavatavus libcupsfilters teegus CUPS-pakettis, mis on seotud cfGetPrinterAttributes5 vÀÀrtuste kontrollimise puudumisega, mis tagastatakse vĂ€lise IPP-serveri poolt, andes rĂŒndajale vĂ”imaluse korraldada erinevate IPP-atribuutide töötlemist CUPS-i muudes alamises, nĂ€iteks PPD-failide genereerimisel.

CUPSi rĂŒnde stsenaarium hĂ”lmab jĂ€rgmisi samme:

  • RĂŒndaja kĂ€ivitab oma IPP-serveri.
  • Saadab ohvrile UDP-paketi, mis sisaldab linki printerile, mis on seotud rĂŒndaja kĂ€ivitatud IPP-serveriga.
  • PĂ€rast selle paketi vastuvĂ”tmist ĂŒhendab ohvri sĂŒsteem rĂŒndaja IPP-serveriga ja kĂŒsib printeri atribuute.
  • RĂŒndaja IPP-server vastab ohvri pĂ€ringule, tagastades PPD-faili, mille atribuutide seas on ka FoomaticRIPCommandLine atribuut. See atribuut kinnitatakse ĂŒhe lubatud atribuudi kĂŒlge, kasutades sĂŒmbolit „\n” ĂŒhes reas (nt „cupsPrivacyURI: „https://www.google.com/\n*FoomaticRIPCommandLine: „), mis vĂ”imaldab kontrolli mööda minna ja viib FoomaticRIPCommandLine eraldi atribuudina salvestatavate andmete ajutisse faili salvestamise juurde.
  • Edastatud atribuutide töötlemisel ohvri sĂŒsteemis luuakse PPD-fail: 
 *cupsSNMPSupplies: Vale *cupsLanguages: „en” *cupsPrivacyURI: „https://www.google.com/” *FoomaticRIPCommandLine: „echo 1 > /tmp/I_AM_VULNERABLE” *cupsFilter2: „application/pdf application/vnd.cups-postscript 0 foomatic-rip” *cupsSingleFile: TĂ”si *cupsFilter2: „application/vnd.cups-pdf application/pdf 0 -” 

  • Prindimise korral rĂŒndaja printerile ohvri sĂŒsteemis tĂ€idetakse kĂ€sk „echo 1 > /tmp/I_AM_VULNERABLE”

Haavatavuste avastanud uurija mĂ€rkis, et haavatavuse leidmiseks kulus tal paar pĂ€eva, kuid seejĂ€rel jĂ€rgnes 22 pĂ€eva kestev suhtlemine OpenPrinting projekti arendajatega, et veenda neid probleemi tĂ€htsuses ja patchide ettevalmistamise vajaduses. Arutelu jĂ”udis vaidlusesse, kas neid probleeme ĂŒldse parandada, ja olukorra suudeti pöörata vaid selle kaudu, et teema suhtes tĂ”statati avalik tĂ€helepanu. Samuti on huvitav, et teabe lekkimisel, mille kĂ€igus anti CERT-ile konfidentsiaalne raport ja eksploit, ilmusid need breachforums.st foorumisse avatud juurdepÀÀsuga, hoolimata teabe avalikustamise embargost.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster