Es va trobar una vulnerabilitat en Ghostscript que podria permetre l'execució de codi

fa pocs dies van donar a conèixer la notícia que va ser identificada una vulnerabilitat en Ghostscript (CVE-2020-15900) que podria provocar la modificació d'arxius i l'execució d'ordres arbitràries a l'obrir documents PostScript amb format especial.

Per als qui desconeguin de Ghostscript han de saber que aquest és un motor de renderitzat per a contingut Postscript i PDF i és comunament utilitzat per convertir documents PDF i Postscript en imatges amb fins de vista prèvia, miniatures i impressió.

També s'utilitza per a la reproducció de documents de qualitat completa per a molts visors de PDF, inclosos els visors populars en Android, i té llicència de diverses grans empreses com Google per renderitzar en el núvol.

Sobre la vulnerabilitat en Ghostscript

La decisió va ser identificat en l'ús de l'operador rsearch PostScript no estàndard en un document que permet provocar un desbordament de l'tipus uint32_t a l'calcular la mida, sobreescriure àrees de memòria fora de la memòria intermèdia assignat i accedir a arxius en el sistema d'arxius, que es poden usar per organitzar un atac per a executar codi arbitrari en el sistema (per exemple, afegint ordres a ~ / .bashrc o ~ / .profile).

El fragment trobat per AFL empenyia una cadena buida a la pica: els claudàtors buits (), copiaven la referència a això, el que resultava en una pila amb dues cadenes buides () () i després executava la cerca inversa. En altres paraules, buscava una cadena buida en una cadena buida, començant des del final.

Desafortunadament, es van perdre un cas límit on es busca la cadena buida. A l'cercar una cadena buida, això es defineix com un èxit immediat: no hi ha res a buscar, de manera que saltem directament a la fin. No obstant això, el resultat s'ha de dividir en els valors previs a el partit, coincidents i posteriors a el partit. Desafortunadament, el codi va assumir que havíem mirat a l'mínim un cop i calculem la longitud d'el resultat posterior a la coincidència de manera incorrecta a l'restar un zero, el que va resultar en una volta a la valor màxim: 4,294,967,295.

aquest error és un defecte de corrupció de memòria en on hi ha possibilitat de fracàs i passa tot el temps. No cal bregar amb guàrdies de pila, etc., simplement n'hi ha prou amb llegir i escriure el que es vulgui en un segment massiu de memòria. Això va fer que fos bastant fàcil per a algú que no és un escriptor experimentat en gestes explotar-lo.

A causa d'aquest subdesbordamiento, Aquesta cadena mai s'havia assignat i no ocupava espai real, però tenia una longitud que s'estenia a una altra memòria. Intentar llegir o escriure aquesta memòria en direccions aleatòries sortiria dels límits de la memòria, d'aquí totes les falles en el fuzzing. No obstant això, podríem emmagatzemar la referència per permetre el seu ús fent servir aquest fragment de codi:

És important tenir en compte que les vulnerabilitats en Ghostscript són de major gravetat, Ja que aquest paquet es fa servir en moltes aplicacions populars de processament de PostScript i PDF. Per exemple, es diu a Ghostscript a l'crear miniatures a l'escriptori, a l'indexar dades en segon pla i a l'convertir imatges.

Per a un atac reeixit, en molts casos, n'hi ha prou simplement descarregar l'arxiu d'explotació o navegar pel directori amb ell en Nautilus.

Les vulnerabilitats en Ghostscript també es poden explotar a través de controladors d'imatges basats en els paquets ImageMagick i GraphicsMagick, passant un arxiu JPEG o PNG, que conté codi PostScript en lloc d'una imatge (dit arxiu es processarà en Ghostscript, ja que el tipus MIME és reconegut pel contingut, i sense dependre de la extensió).

Solució

El problema afecta les versions de 9.50 a 9.52 (L'error ha estat present des de la versió 9.28rc1, però, segons els investigadors que van identificar la vulnerabilitat, va aparèixer des de la versió 9.50).

Però ja es va proposar una correcció en la versió 9.52.1 més de que ia s'han publicat actualitzacions de paquets de pegats per a algunes distribucions de Linux com ara Debian, Ubuntu i SUSE.

Mentre que els paquets en RHEL no es veuen afectats.

font: https://insomniasec.com


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.