Fix for Windows batch script arguments handling “feature”

Windows is full of “features” that probably seemed like a good idea at the time but which turn out to be a mayor pain in certain situation…

Issue 17 – Msxml2.XMLHTTP.3.0 response handling memory corruption

Today Microsoft released MS10-051; a fix for a vulnerability in MSXML 3.0 which I reported to them April 12th 2010.

Case details can be found here.

JsSfx – JavaScript compression/obfuscation

I revisited and released an old tool for compressing and obfuscating JavaScript. Given a JavaScript as input, it will generate and output self-extracting compressed JavaScript.

http://code.google.com/p/jssfx/

Ultra-Edit buffer overflow in GNU Aspell

While looking at logs from my fuzzers, I found a bug in UltraEdit that triggered when I loaded a file with a long string of alphabetic characters…

MSIE 6,7, 8 & 9 insertAdjacentElement NULL ptr

img=new Image();
img.insertAdjacentElement(“afterEnd”,img);

More details here: http://code.google.com/p/skylined/issues/detail?id=15

Apple QuickTime memory corruption when loading BMP file

From http://support.apple.com/kb/HT4104:
CVE-ID: CVE-2010-0536

Impact: Opening a maliciously crafted BMP image may lead to an unexpected application termination or arbitrary code execution

Description: A memory corruption issue exists in the handling of BMP images…

MSIE 8,9 (X)HTML stack exhaustion

Many nested tags in MSIE can cause stack exhaustion, which can crash the tab and even the entire browser.

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<address/><address/><address/><address/><address/><address/>……

MSIE 9 regular expression related crashes

The following code snippets will crash MSIE 9 platform review…

MSIE 7 document.createElement(“HTML”).outerHTML NULL ptr

A simple NULL ptr deref in MSIE 7 (MSIE 8 is not affected)

document.createElement(“HTML”).outerHTML

More details here: http://code.google.com/p/skylined/issues/detail?id=16

Microsoft Windows .ANI file BITMAPINFOHEADER.biClrUsed bounds check missing

Quoting http://msdn.microsoft.com/en-us/library/aa930622.aspx:
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER;

“If the bitmap is a packed bitmap (a bitmap in which the bitmap array immediately follows the BITMAPINFO header and is referenced by a single pointer), the biClrUsed member must be either zero or the actual size of the color table.”

ANI files stores each frame of the animated cursor as a packed bitmap inside the ANI file…