Vulnerabilità in “the Gimp”

gimp.jpg

Questa è forse l’ultima cosa che avrei immaginato di scrivere , fino a quando poco fà ho aperto la sezione sicurezza del mensile “GNU/LinuxMagazine” , che naturalmente ogni mese arriva nelle mie mani.🙂

Come spiega il titolo , è stata trovata una vulnerabilità in The Gimp , (Gnu Image Manipulation Program) , nella versione 2.2.15 del famoso , ed ormai anche di default , programma GNU/Linux per la grafica ed il fotoritocco.

The Gimp è uno dei programmi che più affascina gli utenti del pinguino , e che si evolve in maniera veloce e costante , a tal punto da poter equiparare senza alcun dubbio gli equivalenti software commerciali.

Ma passiamo ora a descrivere questa vulnerabilità.

(trovata in The Gimp 2.2.15)

La vulnerabilità è dovuta al codice stesso di The Gimp , e si tratta di una vulnerabilità di tipo “Integer Overflow” , che consente l’ attacco da remoto ed in locale , sulla macchina in cui The Gimp è inesecuzione , mettendo così ad alto rischio il sistema stesso.

La combinazione di parole “integer overflow” , (meno conosciuta della quasi omonima “buffer overflow“) , indica la possiblità di inserimento , nel programma in lavoro , di dati che sovrastano il valore massimo consentito , mandando così appunto in “overflow” il sistema.

Nella programmazione le variabili assumono determinati valori , e nei linguaggi di programmazione di tipo “C/C++” , (linguaggio in cui naturalmente è scritto The Gimp) , le variabili possono essere:

signed” , dove il semplice char , (carattere) , essendo costituito da 8 bit , può assumere un valore che va da -127 a 128 , quindi valori positivi e valori negativi ;

unsigned” dove il nostro char , potrà assumere valori da 0 a 255 , perché le unsigned sono variabili che possono assumere solo valori interi e positivi.

Per le variabili di tipo “unsigned“, il problema della vulnerabilità in overflow non sussiste , perché anche aumentando l’ input di dati oltre il valore massimo consentito , le variabili di questo tipo assegnano un valore di 1 a tutti i dati oltre il valore limite , (cioé: 255+1=256) , e quindi riducendo qualsiasi valore oltre il limite ad 1 , le unsigned tengono sempre sotto controllo il valore stesso , e di conseguenza non creano problemi di overflow.

Se prendiamo invece le variabili di tipo “signed” , (di default nei linguaggi C/C++) , il discorso è diverso , perché potendo assumere valori negativi e positivi , non hanno il beneficio delle unsigned , permettendo così l’ overflow , da remoto , e da locale.

Il codice che permette lo sfruttamento di questa vulnerabilità , si trova all’ interno di una funzione , (seek_to_and_unpack_pixeldata()) , del file “psd.c” e , almeno pubblicamente , non sono stati rilasciati degli exploit , ma in privato tutto può succedere , per questo si consiglia vivamente di fare l’ upgrade , (non ci sono fix) , alla versione 2.2.16 , specie per chi appunto importa molti file in formato *.psd.

La risposta degli sviluppatori di The Gimp quindi , non si è fatta attendere.

😉

news su: GNU/LINUX-MAGAZINE ottobre.2007(edizioni Master)

Lascia un commento

Non c'è ancora nessun commento.

Comments RSS TrackBack Identifier URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...