# Exploit Title:
# Date: 2020-02-23
# Author:Scott Goodwin
# Vendor: https://www.manageengine.com/
# Software Link: https://www.manageengine.com/products/eventlog/
# CVE: CVE-2019-19774
Vulnerability Name: Authenticated Information Disclosure in ManageEngine EventLog Analyzer
Scott Goodwin, OSCP
Vendor of Product:
Affected Product Code Base:
EventLog Analyzer - 10.0 SP1
Affected ManageEngine endpoint: http://exampleclient:8400/event/runquery.do
This endpoint allows the ManageEngine user to execute commands against the
ManageEngine PostgreSQL database.
Incorrect Access Control
Authenticated Information Disclosure
To exploit the vulnerability, an authenticated user must execute a specially crafted
query against the ManageEngine database to bypass the built-in security controls and
extract credential data.
An issue was discovered in Zoho ManageEngine EventLog Analyzer 10.0 SP1.
By running "select hostdetails from hostdetails" at the /event/runquery.do endpoint,
it is possible to bypass the security restrictions that prevent even administrative
users from viewing credential data stored in the database, and recover the MD5 hashes
of the accounts used to authenticate the ManageEngine platform to the managed machines
on the network (most often administrative accounts). Specifically, this bypasses the
following restrictions: a query cannot mention "password", and a query result cannot
have a "password" column.
PoC: Run the database query: "select hostdetails from hostdetails" at the /event/runquery.do endpoint
10/30/2019: This vulnerability was reported to ManageEngine via the
Zoho/ManageEngine Bug Bounty program. They acknowledged the initial report.
12/12/2019: Vulnerability registered
12/13/2019: Vulnerability acknowledged and update (12110) made available to ManageEngine
12/13/2019: Public disclosure
This query bypasses the following security restrictions implemented within Manage Engine:
1. restrictions on queries that include the word "password". This query will output the
value stored in the "password" field, without the word "password" actually appearing in
the query. If the query contains the word "password" Manage Engine will not execute the query.
2. restrictions on printing the password field to the screen in a column called "password".
If the results of the query include a columncalled "password", Manage Engine will mask the
password with a series of asterisks "". This query will output the entire contents of the table,
without formatting is as a table within the web interface, which leads to bypass of this security
Remediated Product Version:
ManageEngine EventLog Analyzer Build 12110