Prieš keletą dienų dienų jie paskelbė naujienas to, kas buvo nustatyta „Ghostscript“ pažeidžiamumas (CVE-2020-15900) kas galėtų sukelti failo modifikavimą ir savavališką komandų vykdymą atidarant specialiai suformatuotus „PostScript“ dokumentus.
Tiems, kurie nėra susipažinę su „Ghostscript“, turėtų tai žinoti tai yra „Postscript“ ir PDF turinio atvaizdavimo variklis ir paprastai jis naudojamas konvertuoti PDF ir „Postscript“ dokumentus į vaizdus peržiūrai, miniatiūroms ir spausdinimui.
Jis taip pat naudojamas aukštos kokybės dokumentų daugybei daugelio PDF formato žiūrovų, įskaitant populiarius „Android“ žiūrovus, ir yra licencijuotas kelių didelių kompanijų, tokių kaip „Google“, kad būtų galima pateikti per debesį.
Apie „Ghostscript“ pažeidžiamumą
Klaida buvo nustatyta naudojant rsearch operatorių Nestandartinis „PostScript“ dokumente, leidžiančiame sukelti „uint32_t“ tipo perpildymą apskaičiuojant dydį, perrašyti atminties sritis iš buferio priskirti ir gauti prieigą prie failų sistemos failų, kurie gali būti naudojami atakai suplanuoti, kad sistemoje būtų vykdomas savavališkas kodas (pavyzdžiui, pridedant komandas prie ~ / .bashrc arba ~ / .profile).
AFL rastas fragmentas ant kamino išstūmė tuščią eilutę: tuščius skliaustus (), nukopijavo nuorodą į tai, susidarė rietuvė su dviem tuščiomis eilutėmis () () ir tada atliko atvirkštinę paiešką. Kitaip tariant, jis ieškojo tuščios eilutės tuščioje eilutėje, pradedant nuo pabaigos.
Deja, jie praleido ribinį atvejį, kai ieškoma tuščios eilutės. Ieškant tuščios eilutės tai apibrėžiama kaip tiesioginė sėkmė: nėra ko ieškoti, todėl mes šokinėjame iki galo. Tačiau rezultatas turi būti padalytas į prieš rungtynes, rungtynių ir po rungtynių reikšmes. Deja, kode buvo daroma prielaida, kad mes bent kartą pažvelgėme ir neteisingai apskaičiavome po rungtynių rezultato ilgį, atimdami vieną iš nulio, todėl grįžome į maksimalią vertę: 4,294,967,295 XNUMX XNUMX XNUMX.
Ši klaida tai atminties sugadinimo defektas, kai yra gedimo galimybė ir tai vyksta nuolat. Nereikia susidurti su kamino apsaugomis ir pan., Tiesiog skaitykite ir rašykite viską, ko norite, didžiuliame atminties segmente. Tai padarė gana lengva tai išnaudoti ne patyrusiam išnaudojimo rašytojui.
Dėl šio nepakankamumo, ši eilutė niekada nebuvo paskirta ir neužėmė tikros vietos, bet jo ilgis tęsėsi iki kitos atminties. Bandymas skaityti ar rašyti tą atmintį atsitiktiniais adresais neviršytų atminties ribų, taigi ir visos suirutės. Tačiau mes galime išsaugoti nuorodą, kad leistume ją naudoti, naudodami šį kodo fragmentą:
Svarbu į tai atsižvelgti „Ghostscript“ pažeidžiamumai yra rimtesnines šis paketas naudojamas daugelyje populiarių „PostScript“ ir PDF apdorojimo programų. Pavyzdžiui, „Ghostscript“ iškviečiamas kuriant miniatiūras darbalaukyje, indeksuojant duomenis fone ir konvertuojant vaizdus.
Norint sėkmingai atakuoti, daugeliu atvejų pakanka tiesiog atsisiųsti „fail“ failą arba naršyti katalogą su juo „Nautilus“.
„Ghostscript“ pažeidžiamumas taip pat gali būti naudojamas per vaizdo tvarkykles remiantis „ImageMagick“ ir „GraphicsMagick“ paketais, perduodant JPEG arba PNG failą, kuriame yra „PostScript“ kodas, o ne vaizdas (šis failas bus apdorojamas „Ghostscript“, nes MIME tipas atpažįstamas pagal turinį ir nepriklausomai nuo plėtinio).
Sprendimas
Šis klausimas turi įtakos 9.50–9.52 versijoms (Klaida egzistuoja nuo 9.28rc1 versijos, tačiau, anot tyrėjų, kurie nustatė pažeidžiamumą, ji atsirado nuo 9.50 versijos).
Bet taisyti jau buvo pasiūlyta 9.52.1 versijojeatnaujinimai buvo paskelbti pataisų paketų kai kuriems „Linux“ paskirstymams, pavyzdžiui, „Debian“, „Ubuntu“ ir „SUSE“
Tuo tarpu pakuotės RHEL neturi įtakos.
Fuente: https://insomniasec.com