В Ghostscript е открита уязвимост, която може да позволи изпълнение на код

Преди малко дни пуснаха новината на идентифицираното уязвимост в Ghostscript (CVE-2020-15900) какво можеше причиняват модификация на файл и произволно изпълнение на команда при отваряне на специално форматирани PostScript документи.

За тези, които не са запознати с Ghostscript, трябва да знаят това това е механизъм за рендиране на съдържание на Postscript и PDF и често се използва за конвертиране на PDF и Postscript документи в изображения за целите на визуализация, миниатюри и печат.

Той се използва и за пълнокачествено възпроизвеждане на документи за много зрители на PDF, включително популярни зрители на Android, и е лицензиран от няколко големи компании като Google за изобразяване в облака.

Относно уязвимостта в Ghostscript

Грешката е идентифицирана при използването на оператора rsearch Нестандартни PostScript в документ, който позволява да се предизвика преливане от тип uint32_t при изчисляване на размера, презаписване на области на паметта извън буфера присвоява и получава достъп до файлове във файловата система, които могат да се използват за инсцениране на атака за изпълнение на произволен код в системата (например чрез добавяне на команди към ~ / .bashrc или ~ / .profile).

Намереният от AFL фрагмент избута празен низ върху стека: празните скоби (), копира препратката към това, в резултат на което се получи стек с два празни низа () () и след това направи обратното търсене. С други думи, търсеше празен низ в празен низ, започвайки от края.

За съжаление те пропуснаха граничен случай, където се търси празният низ. Когато се търси празен низ, това се определя като незабавен успех: няма какво да се търси, така че скачаме точно до края. Резултатът обаче трябва да бъде разделен на стойностите преди мача, мача и след мача. За съжаление, кодът предполагаше, че сме гледали поне веднъж и сме изчислили дължината на резултата след мача неправилно, като извадим едно от нула, което води до връщане към максималната стойност: 4,294,967,295 XNUMX XNUMX XNUMX.

Тази грешка това е дефект в корупцията на паметта, при който има вероятност за неуспех и това се случва през цялото време. Няма нужда да се занимавате със стек предпазители и т.н., просто четете и пишете каквото искате в масивен сегмент памет. Това направи доста лесно за някой, който не е опитен писател на експлойти, да го експлоатира.

Поради това подливане, този низ никога не е бил разпределен и не е заемал реално пространство, но имаше дължина, която се простираше до друг спомен. Опитът да прочетете или напишете, че паметта на произволни адреси ще излезе извън границите на паметта, следователно всички неуспешни неуспехи. Въпреки това, бихме могли да съхраним препратката, за да позволим използването й, използвайки този кодов фрагмент:

Важно е да се вземе предвид това уязвимостите в Ghostscript са по-сериознитъй като този пакет се използва в много популярни приложения за обработка на PostScript и PDF. Например Ghostscript се извиква при създаване на миниатюри на работния плот, при индексиране на данни във фонов режим и при конвертиране на изображения.

За успешна атака в много случаи е достатъчно просто да изтеглите експлойт файла или да прегледате директорията с него в Nautilus.

Уязвимостите в Ghostscript могат да се използват и чрез драйвери за изображения въз основа на пакетите ImageMagick и GraphicsMagick, предаване на JPEG или PNG файл, който съдържа PostScript код вместо изображение (този файл ще бъде обработен в Ghostscript, тъй като типът MIME се разпознава от съдържанието и без в зависимост от разширението).

разтвор

Изданието засяга версии 9.50 до 9.52 (Грешката съществува от версия 9.28rc1, но според изследователите, идентифицирали уязвимостта, тя се появява от версия 9.50).

Но вече беше предложена корекция във версия 9.52.1 в допълнение към това ипубликувани са актуализации на пакети за корекции за някои дистрибуции на Linux като Debian, Ubuntu и SUSE.

Докато пакетите в RHEL не са засегнати.

Fuente: https://insomniasec.com


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.