Vulnerabilitetet e shfrytëzuara në distancën në serverin e printimit CUPS

Simone Margaritelli, autor i firewall-it OpenSnitch dhe analizuesit të rrjeteve bettercap, ka zbuluar informacionin mbi dobësitë kritike të paralajmëruara më herët, të cilat lejojnë sulme të largët mbi shpërndarjet GNU/Linux, Solaris, FreeBSD dhe disa sisteme të tjera BSD. Fillimisht, publikimi ishte planifikuar për 6 tetor, por për shkak të rrjedhjes së informacionit, informacioni duhej të publikohej më herët, para se shumica e shpërndarjeve të arrinin të përgatitnin përditësimet e pakove. Dobësitë prekin serverin e printimit CUPS dhe lejojnë ekzekutimin e kodit në sistem në mënyrë të largët pa autentikim.

Hulumtuesi që identifikoi problemin ka përgatitur një prototip funksional të eksploatuesit, i cili përdor një kombinim të disa dobësive dhe lejon ekzekutimin e kodit në mënyrë të largët me privilegjet e procesit të trajtimit të punës për printim në CUPS (zakonisht përdoruesi 'lp'). Eksploiti lejon që të ndryshohen pa u vënë re parametrat e printerit të përdoruesit ose të shtohet një printer i ri, i lidhur me një server IPP të sulmuesit, i cili ofron një përshkrim të PPD të formatuar në mënyrë të veçantë. Përpunimi i këtij PPD gjatë fillimit të punës për printim çon në ekzekutimin e kodit të sulmuesit (është e nevojshme që viktima të inicojë printimin në printerin e manipuluar ose të zëvendësuar nga sulmuesi).

Sistemet me server CUPS dhe procesin e funksionit cups-browsed, i cili pranon lidhje rrjetesh në portin 631 (UDP). Sulmi gjithashtu mund të kryhet nga rrjeti lokal, në të cilin për qasje në serverit printim përdoren protokollet zeroconf, mDNS ose DNS-SD. Janë të ndjeshme vetëm konfigurimet e cups-browsed në të cilat në skedarin /etc/cups/cups-browsed.conf në parametrin BrowseRemoteProtocols është caktuar vlera 'cups'. Në shpërndarjet me systemd, kontrollimi i përdorimit të shërbimit cups-browsed mund të bëhet me komandën 'sudo systemctl status cups-browsed'.

Vulnerabiliteti shfaqet nĂ« tĂ« gjitha sistemet e printimit tĂ« bazuara nĂ« CUPS, nĂ« tĂ« cilat pĂ«rdoren versione tĂ« cenueshme tĂ« pakove cups-filters, libcupsfilters, libppd dhe cups-browsed. Rregullimet aktualisht janĂ« tĂ« disponueshme vetĂ«m nĂ« formĂ«n e patch-eve (1, 2, 3) — versione tĂ« fundit cups-filters 2.0.1, libcupsfilters 2.1b1, libppd 2.1b1 dhe cups-browsed 2.0.1 janĂ« tĂ« ekspozuara ndaj kĂ«tyre vulnerabiliteteve. NĂ« distribuimet, problemi mbetet i pa rregulluar; pĂ«r tĂ« ndjekur daljen e azhurnimeve mund tĂ« kontrolloni kĂ«to faqe: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD. Si njĂ« mĂ«nyrĂ« pĂ«r tĂ« siguruar mbrojtje deri nĂ« instalimin e azhurnimit, mund tĂ« kufizoni aksesin pĂ«r rrjetet e jashtme nĂ« portin UDP 631, tĂ« çndizni shĂ«rbimin cups-browsed ose tĂ« vendosni cilĂ«simin BrowseRemoteProtocols nĂ« vlerĂ«n "none".

Vulnerabilitetet e identifikuara:

  • CVE-2024-47176 — vulnerabilitet nĂ« procesin cups-browsed, i cili krijon njĂ« socket rrjeti qĂ« pranon lidhje nĂ« portin 631, i lidhur me tĂ« gjitha ndĂ«rfaqet e rrjetit nĂ« sistem dhe pranon kĂ«rkesat IPP "Get-Printer-Attributes" nga çdo sistem i jashtĂ«m. Duke manipuluar me kĂ«tĂ« shĂ«rbim, mundĂ«sia krijohet pĂ«r tĂ« shtuar njĂ« printer nĂ« sistem, i kontrolluar nga sulmuesi, dhe pĂ«r tĂ« shfrytĂ«zuar duke transmetuar konfigurimin PPD tĂ« vulnerabilitetit nĂ« komponentĂ«t e tjerĂ« tĂ« CUPS.
  • CVE-2024-47177 — vulnerabilitet nĂ« pĂ«rpunuesin foomatic-rip nga pakot cups-filters, i cili lejon ekzekutimin e kodit pĂ«rmes kalimit tĂ« parametrave FoomaticRIPCommandLine nĂ« skedarin PPD, tĂ« cilin sulmuesi mund ta kalojĂ« pĂ«rmes vulnerabilitetit nĂ« cups-browsed tĂ« pĂ«rshkruar mĂ« sipĂ«r. Komandat shell tĂ« specifikuara nĂ« parametrin FoomaticRIPCommandLine ekzekutohen ashtu siç janĂ«, pa u marrĂ« parasysh se parametri mund tĂ« vendoset nga njĂ« palĂ« e tretĂ«. PĂ«r shembull, pĂ«r tĂ« shkruar nĂ« skedarin /tmp/VULNERABLE mund tĂ« specifikohet "FoomaticRIPCommandLine: "echo 1 > /tmp/VULNERABLE".
  • CVE-2024-47175 — vulnerabilitet nĂ« libppd, i shkaktuar nga mungesa e verifikimit tĂ« saktĂ«sisĂ« sĂ« vlerĂ«s ppdCreatePPDFromIPP2 gjatĂ« shkruarjes sĂ« atributeve IPP nĂ« njĂ« skedĂ« PPD pĂ«rkohĂ«se. Problemi lejon qĂ« tĂ« futen tĂ« dhĂ«na tĂ« rastĂ«sishme nĂ« skedĂ«n pĂ«rfundimtare PPD pĂ«rmes lidhjes sĂ« atributeve, duke shfrytĂ«zuar simbolin e kalimit nĂ« rresht. PĂ«r shembull, mund tĂ« kaloni verifikimin dhe sĂ« bashku me atributet e lejuara tĂ« fusni atributin FoomaticRIPCommandLine pĂ«r tĂ« shfrytĂ«zuar vulnerabilitetin e pĂ«rmendur mĂ« sipĂ«r nĂ« cups-filters.
  • CVE-2024-47076 — njĂ« cenueshmĂ«ri nĂ« bibliotekĂ«n libcupsfilters nga paketa cups-filters, e lidhur me mungesĂ«n e verifikimit tĂ« vlerave cfGetPrinterAttributes5, qĂ« kthehen nga njĂ« server IPP i jashtĂ«m, duke i dhĂ«nĂ« njĂ« sulmuesi mundĂ«sinĂ« pĂ«r tĂ« organizuar pĂ«rpunimin e atributeve IPP arbitrale nĂ« nĂ«nsistemet e tjera tĂ« CUPS, pĂ«r shembull, gjatĂ« gjenerimit tĂ« skedarĂ«ve PPD.

Skenari i sulmit ndaj CUPS përfshin hapat e mëposhtëm:

  • Marrja e njĂ« serveri IPP tĂ« kontrolluar nga sulmuesi.
  • DĂ«rgimi i njĂ« pakete UDP tek viktima me njĂ« lidhje nĂ« printerin e lidhur me serverin IPP tĂ« nisur nga sulmuesi.
  • Pas marrjes sĂ« kĂ«saj pakete, sistemi i viktimĂ«s lidhet me serverin IPP tĂ« sulmuesit dhe kĂ«rkon atributet e printerit.
  • NĂ« pĂ«rgjigje tĂ« kĂ«rkesĂ«s sĂ« viktimĂ«s, serveri IPP i sulmuesit kthen njĂ« skedar PPD me atribute, ku pĂ«rfshihet atributi FoomaticRIPCommandLine. Ky atribut lidhet me njĂ« nga atributet e lejuara, duke pĂ«rdorur simbolin "\n" nĂ« njĂ« rresht (pĂ«r shembull, "cupsPrivacyURI: "https://www.google.com/\n*FoomaticRIPCommandLine: "), gjĂ« qĂ« lejon anashkalimin e verifikimit dhe rezulton nĂ« regjistrimin e FoomaticRIPCommandLine si njĂ« atribut tĂ« veçantĂ« kur ruhen tĂ« dhĂ«nat nĂ« njĂ« skedĂ« pĂ«rkohshme.
  • Si rezultat i pĂ«rpunimit tĂ« atributeve tĂ« dĂ«rguara, nĂ« sistemin e viktimĂ«s krijohet njĂ« skedar PPD: 
 *cupsSNMPSupplies: False *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: True *cupsFilter2: "application/vnd.cups-pdf application/pdf 0 -" 

  • Kur dĂ«rgohet pĂ«r printim nĂ« printerin e manipuluar nga sulmuesi nĂ« sistemin e viktimĂ«s, do tĂ« ekzekutohet komandat "echo 1 > /tmp/I_AM_VULNERABLE".

Hulumtuesi që zbuloi cenueshmërinë shënon se i nevojiteshin disa ditë për të gjetur cenueshmërinë, por më pas pasoi një shkëmbim i zgjatur me zhvilluesit e projektit OpenPrinting për të bindur ata për rëndësinë e problemit dhe nevojën për përgatitjen e patch-eve. Diskutimi ngeci në mosmarrëveshje mbi nëse duhet të rregulloheshin këto probleme, dhe situata u kthye vetëm duke ngritur një bujë publike për zbulimin e një problemi kritik. Gjithashtu është interesante shfaqja e një rrjedhjeje informacioni, gjatë së cilës raporti konfidencial dhe eksploiti të dorëzuar në CERT u shfaqën në forumet breachforums.st në akses të hapur, pavarësisht nga embargot për zbulimin e informacionit.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster