En sårbarhet hittades i Ghostscript som kunde tillåta kodkörning

För några sedan dagar de släppte nyheterna att hon var identifierad en sårbarhet i Ghostscript (CVE-2020-15900) vad skulle orsaka modifiering av filer och exekvering av godtyckliga kommandon när du öppnar speciellt formaterade PostScript-dokument.

För de som inte är bekanta med Ghostscript borde de veta det detta är en renderingsmotor för Postscript- och PDF-innehåll och används vanligtvis för att konvertera PDF- och Postscript-dokument till bilder för förhandsgranskning, miniatyrbilder och utskriftsändamål.

Den används också för dokumentrendering av full kvalitet för många PDF-läsare, inklusive populära tittare på Android, och är licensierad av flera stora företag som Google för molnrendering.

Om sårbarheten i Ghostscript

Felet identifierades i användningen av rsearch-operatorn icke-standardiserade PostScript i ett dokument som låter dig orsaka ett spill av typen uint32_t när man beräknar storleken, skriv över icke-buffrade minnesområden allokeras och få tillgång till filer på filsystemet, som kan användas för att iscensätta en attack för att exekvera godtycklig kod på systemet (till exempel genom att lägga till kommandon till ~/.bashrc eller ~/.profile).

Utdraget som hittats av AFL tryckte en tom sträng på stacken: de tomma parenteserna (), kopierade referensen till detta, vilket resulterade i en stack med två tomma strängar () (), och körde sedan den omvända sökningen. Med andra ord letade den efter en tom sträng i en tom sträng, med början från slutet.

Tyvärr missade de ett kantfall där den tomma strängen söks efter. När du söker efter en tom sträng definieras detta som omedelbar framgång: det finns inget att söka efter, så vi hoppar direkt till slutet. Resultatet måste dock delas upp i värden före match, sammanfallande och efter match. Tyvärr antog koden att vi hade tittat minst en gång och beräknade längden på resultatet efter matchen felaktigt genom att subtrahera ett från noll, vilket resulterade i en återgång till maxvärdet: 4,294,967,295 XNUMX XNUMX XNUMX.

Detta fel Det är ett minnesfel där det finns risk för fel och det händer hela tiden. Inget behov av att ta itu med stack guards etc, bara läs och skriv vad du vill till ett enormt minnessegment. Detta gjorde det ganska lätt för någon som inte är en erfaren exploateringsskribent att utnyttja det.

På grund av detta underflöde, denna sträng tilldelades aldrig och tog ingen verklig plats, men den hade en längd som sträckte sig in i ett annat minne. Att försöka läsa eller skriva att minnet på slumpmässiga adresser skulle gå utanför minnesgränserna, därav alla suddiga misslyckanden. Vi kan dock lagra referensen för att tillåta dess användning med det här kodavsnittet:

Det är viktigt att ta hänsyn till det sårbarheter i Ghostscript är av högre allvarlighetsgrad, eftersom det här paketet används i många populära PostScript- och PDF-behandlingsprogram. Till exempel kallas Ghostscript när man skapar miniatyrer på skrivbordet, när man indexerar data i bakgrunden och när man konverterar bilder.

För en framgångsrik attack räcker det i många fall att helt enkelt ladda ner exploateringsfilen eller bläddra i katalogen med den i Nautilus.

Sårbarheter i Ghostscript kan också utnyttjas genom bilddrivrutiner baserat på paketen ImageMagick och GraphicsMagick, skickar en JPEG- eller PNG-fil som innehåller PostScript-kod istället för en bild (en sådan fil kommer att renderas i Ghostscript, eftersom MIME-typen känns igen av innehållet och inte beroende på tillägget).

Lösning

Problemet påverkar versioner från 9.50 till 9.52 (Bugen har funnits sedan version 9.28rc1, men enligt forskarna som identifierade sårbarheten har den förekommit sedan version 9.50.)

Men en korrigering föreslogs redan i version 9.52.1 förutom det ochuppdateringar har släppts av patchpaket för vissa Linux-distributioner som Debian, Ubuntu och SUSE.

Medan förpackningar i RHEL inte påverkas.

Fuente: https://insomniasec.com


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.