V programu Ghostscript byla nalezena chyba zabezpečení, která by mohla umožnit spuštění kódu

Před pár lety dny vydali zprávy toho, co bylo identifikováno chyba zabezpečení v Ghostscript (CVE-2020-15900) Co by mohlo způsobit modifikaci souboru a libovolné provedení příkazu při otevírání speciálně formátovaných dokumentů PostScript.

Pro ty, kteří Ghostscript neznají, měli by to vědět toto je vykreslovací modul pro obsah Postscript a PDF a běžně se používá k převodu dokumentů PDF a Postscript na obrázky pro účely náhledu, miniatur a tisku.

Používá se také pro reprodukci dokumentů v plné kvalitě pro mnoho prohlížečů PDF, včetně populárních prohlížečů v systému Android, a je licencován několika velkými společnostmi, jako je Google, pro vykreslování v cloudu.

O chybě zabezpečení v Ghostscript

Chyba byla identifikována při použití operátoru rsearch Nestandardní PostScript v dokumentu, který umožňuje způsobit přetečení typu uint32_t při výpočtu velikosti, přepsat oblasti paměti z vyrovnávací paměti přidělen a získat přístup k souborům v souborovém systému, které lze použít k provedení útoku za účelem provedení libovolného kódu v systému (například přidáním příkazů do ~ / .bashrc nebo ~ / .profile).

Fragment nalezený AFL vložil prázdný řetězec do zásobníku: prázdné závorky (), zkopíroval odkaz na toto, což vedlo k zásobníku se dvěma prázdnými řetězci () () a poté provedlo zpětné vyhledávání. Jinými slovy, hledal prázdný řetězec v prázdném řetězci, počínaje od konce.

Bohužel zmeškali hraniční případ, kdy se prohledává prázdný řetězec. Při hledání prázdného řetězce je to definováno jako okamžitý úspěch: není co hledat, takže skočíme až na konec. Výsledek však musí být rozdělen na hodnoty před zápasem, zápas a po zápase. Kód bohužel předpokládal, že jsme se podívali alespoň jednou a nesprávně vypočítali délku výsledku po zápase odečtením jednoho od nuly, což vedlo k návratu k maximální hodnotě: 4,294,967,295 XNUMX XNUMX XNUMX.

Tato chyba jedná se o vadu poškození paměti, kde existuje možnost selhání a děje se to pořád. Není třeba se zabývat strážci zásobníku atd., Stačí číst a psát, co chcete, do masivního segmentu paměti. Díky tomu mohl někdo, kdo není zkušeným spisovatelem zneužívání, celkem snadné jej zneužít.

Kvůli tomuto podtečení, tento řetězec nebyl nikdy přidělen a nezabíral skutečný prostor, ale měla délku, která sahala až do jiné paměti. Pokus o čtení nebo zápis této paměti na náhodných adresách by vypršel z paměťových limitů, a tudíž všechny chyby ve fuzzování. Mohli bychom však uložit odkaz umožňující jeho použití pomocí tohoto fragmentu kódu:

Je důležité to vzít v úvahu zranitelnosti v Ghostscript jsou vážnějšíprotože tento balíček se používá v mnoha populárních aplikacích pro zpracování PostScript a PDF. Například Ghostscript se volá při vytváření miniatur na ploše, při indexování dat na pozadí a při převádění obrázků.

Pro úspěšný útok v mnoha případech postačí jednoduše stáhnout soubor zneužití nebo s ním procházet adresář v Nautilus.

Zranitelnosti v Ghostscript lze také využít prostřednictvím ovladačů obrázků na základě balíčků ImageMagick a GraphicsMagick předání souboru JPEG nebo PNG, který místo obrázku obsahuje kód PostScript (tento soubor bude zpracován v Ghostscript, protože typ MIME je rozpoznán obsahem a bez závislosti na příponě).

Řešení

Problém se týká verzí 9.50 až 9.52 (Chyba se objevuje od verze 9.28rc1, ale podle výzkumníků, kteří tuto chybu zabezpečení identifikovali, se objevila od verze 9.50).

Oprava však již byla navržena ve verzi 9.52.1 a navícbyly zveřejněny aktualizace balíčků oprav pro některé distribuce Linuxu, jako jsou Debian, Ubuntu a SUSE.

Zatímco balíčky v RHEL nejsou ovlivněny.

zdroj: https://insomniasec.com


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.