Një dobësi u gjet në Ghostscript që mund të lejonte ekzekutimin e kodit

Pak më parë ditë ata lëshuan lajmet të asaj që u identifikua një dobësi në Ghostscript (CVE-2020-15900) çfarë mund të shkaktojnë modifikimin e skedarit dhe ekzekutimin arbitrar të komandës kur hapni dokumente të formatuara posaçërisht PostScript.

Për ata që nuk janë të njohur me Ghostscript duhet ta dinë këtë ky është një motor pasqyrues për përmbajtjen e Postscript dhe PDF dhe zakonisht përdoret për të shndërruar dokumente PDF dhe Postscript në imazhe për qëllime paraprake, miniaturash dhe shtypjesh.

Përdoret gjithashtu për riprodhim me cilësi të plotë të dokumenteve për shumë shikues PDF, përfshirë shikuesit e njohur në Android dhe është i licencuar nga disa kompani të mëdha si Google për interpretim në re.

Rreth cenueshmërisë në Ghostscript

Gabimi u identifikua në përdorimin e operatorit të kërkimit PostScript jo standarde në një dokument që lejon të shkaktojë një mbingarkesë të tipit uint32_t kur llogaritni madhësinë, mbishkruaj zonat e kujtesës jashtë buffer caktohet dhe fiton qasje në skedarët në sistemin e skedarëve, të cilat mund të përdoren për të inskenuar një sulm për të ekzekutuar kodin arbitrar në sistem (për shembull, duke shtuar komanda në of / .bashrc ose ~ / .profile).

Fragmenti i gjetur nga AFL shtyu një varg bosh në pirg: kllapat bosh (), kopjoi referencën për këtë, duke rezultuar në një pirg me dy vargje bosh () () dhe më pas bëri kërkimin e kundërt. Me fjalë të tjera, po kërkonte një varg bosh në një varg bosh, duke filluar nga fundi.

Fatkeqësisht ata humbën një rast kufitar kur kërkohet vargu bosh. Kur kërkoni një varg të zbrazët, kjo përcaktohet si sukses i menjëhershëm: nuk ka asgjë për të kërkuar, kështu që ne kërcejmë deri në fund. Sidoqoftë, rezultati duhet të ndahet në vlerat para ndeshjes, ndeshjes dhe pas ndeshjes. Për fat të keq, kodi supozoi se ne kishim shikuar të paktën një herë dhe llogaritëm gjatësinë e rezultatit pas ndeshjes gabimisht duke zbritur një nga zero, duke rezultuar në një kthim në vlerën maksimale: 4,294,967,295.

Ky gabim është një defekt i korrupsionit të kujtesës aty ku ekziston mundësia e dështimit dhe kjo ndodh gjatë gjithë kohës. Nuk ka nevojë të merreni me rojet e pirgjeve, etj., Thjesht lexoni dhe shkruani çfarë të doni në një segment masiv të kujtesës. Kjo e bëri mjaft të lehtë për dikë që nuk është një shkrimtar me përvojë i shfrytëzimit për ta shfrytëzuar atë.

Për shkak të kësaj nënshkrimi, kjo varg nuk ishte caktuar asnjëherë dhe nuk zinte hapësirë ​​reale, por kishte një gjatësi që shtrihej në një kujtesë tjetër. Përpjekja për të lexuar ose shkruar se kujtesa në adresa të rastit do të dilte nga kufijtë e kujtesës, prandaj të gjitha gabimet në fuzzing. Sidoqoftë, ne mund ta ruajmë referencën për të lejuar përdorimin e saj duke përdorur këtë fragment të kodit:

Shtë e rëndësishme të merret parasysh kjo dobësitë në Ghostscript janë më seriozepasi kjo pako përdoret në shumë aplikacione të njohura të përpunimit të PostScript dhe PDF. Për shembull, Ghostscript thirret kur krijoni tablotë në desktop, kur indeksoni të dhëna në sfond dhe kur konvertoni imazhe.

Për një sulm të suksesshëm, në shumë raste, mjafton thjesht të shkarkoni skedarin e shfrytëzimit ose të shfletoni drejtorinë me të në Nautilus.

Vulnerabilitetet në Ghostscript gjithashtu mund të shfrytëzohen përmes drejtuesve të imazheve bazuar në paketat ImageMagick dhe GraphicsMagick, duke kaluar një skedar JPEG ose PNG, i cili përmban kodin PostScript në vend të një imazhi (kjo skedar do të përpunohet në Ghostscript, pasi që lloji MIME njihet nga përmbajtja, dhe pa u varur nga shtesa).

Zgjidhje

Çështja prek versionet 9.50 deri 9.52 (Gabimi ka ekzistuar që nga versioni 9.28rc1, por sipas studiuesve që identifikuan dobësinë, ai u shfaq që nga versioni 9.50).

Por një rregullim ishte propozuar tashmë në versionin 9.52.1 përveç kësaj dheazhurnimet janë publikuar të paketave patch për disa shpërndarje Linux si Debian, Ubuntu dhe SUSE.

Ndërsa paketat në RHEL nuk preken.

Fuente: https://insomniasec.com


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.