Centrul Coordonator CERT (grupul de intervenție pentru situații de urgență în informatică) a publicat un avertisment cu privire la identificarea unor vulnerabilități care afectează aplicațiile și site-urile care utilizează biblioteca ImageMagick în configurația implicită pentru procesarea sau conversia imaginilor. Exploatarea cu succes permite atacatorului să citească și să scrie fișiere, în limita permisiunilor sub care rulează ImageMagick. Vulnerabilităților le-a fost atribuit un nume de cod – ImageTragick2, similar cu problema identificată în 2016.
În ultimele două luni, în ImageMagick au fost corectate aproximativ o sută de vulnerabilități, dar problemele despre care avertizează CERT sunt cauzate nu de erori în codul ImageMagick, ci de utilizarea setărilor implicite care permit apelarea procesorilor externi pentru formatele SVG și PostScript.
Procesorul din ImageMagick este selectat în funcție de conținut, nu de extensia fișierului, astfel încât, dacă aplicația filtrează încărcările în funcție de extensii, atacatorul poate transmite date în formatele SVG sau PostScript, de exemplu, sub forma unor fișiere cu extensia JPEG sau PNG.
Posibilitatea exploatării vulnerabilității a fost confirmată în aplicații bazate pe Ruby on Rails și WordPress, dar nu este exclusă și în alte proiecte care utilizează ImageMagick pentru conversia imaginilor, decupare și crearea de miniaturi, cum ar fi MediaWiki, ownCloud Classic și Redmine. Problema afectează și instrumentele AI care apelează ImageMagick în timpul sarcinilor legate de procesarea imaginilor.
Sunt prezentate două scenarii de atac:
- Apelarea procesorului de conținut în limbajul MSL (Magick Scripting Language) prin transmiterea unei imagini SVG special concepute, în care elementul conține un link «xlink:href» la o resursă cu protocolul «MSL:». ImageMagick interpretează conținutul acestei resurse ca pe un script în limbajul MSL, în condițiile în care în scripturile MSL sunt permise operații de scriere și citire a fișierelor. Pe lângă MSL, o trucare similară cu SVG poate fi utilizată și pentru procesarea altor tipuri periculoase de conținut.
- Apelarea interpretului Ghostscript pentru procesarea conținutului în format PostScript. Ghostscript este lansat cu flagul „-dSAFER”, care nu restricționează accesul la directorul /tmp, permițând atacatorului să citească sau să modifice fișiere în acest director (de exemplu, aplicațiile pot stoca temporar în /tmp datele sesiunilor și fișierele încărcate). În Ghostscript se găsesc de asemenea în mod regulat vulnerabilități care permit ocolirea completă a restricției „-dSAFER” (ultima astfel de vulnerabilitate a fost dezvăluită pe 10 noiembrie).
Pentru a bloca vulnerabilitățile, nu este suficient să actualizăm ImageMagick, ci este necesară modificarea setărilor în fișierul /etc/ImageMagick/policy.xml, în care trebuie să păstrăm doar suportul pentru cele mai necesare formate și operațiuni sau, cel puțin, să interzicem apelarea procesatorilor externi pentru formate MSL, MVG, PS, EPS și PDF. În plus, se recomandă izolarea codului pentru conversia imaginilor externe într-un container separat, verificarea fișierelor nu doar după extensie, ci și după conținut, și configurarea monitorizării jurnalelor ImageMagick pentru erori și activitate neobișnuită.
<policy domain=»coder» rights=»none» pattern=»MSL»/>
<policy domain=»delegate» rights=»none» pattern=»gs»/>
<policy domain=»coder» rights=»none» pattern=»{PS,PS2,PS3,EPS,EPS2,EPS3,EPI,EPSF,EPSI,EPT,EPT2,EPT3,PDF,AI,EPDF,PDFA,POCKETMOD,XPS,PCL}»/>
Sursa: opennet.ro
