exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

Dell Kace 1000 SMA 5.4.70402 Cross Site Scripting

Dell Kace 1000 SMA 5.4.70402 Cross Site Scripting
Posted Jul 16, 2013
Authored by Ibrahim El-Sayed, Vulnerability Laboratory | Site vulnerability-lab.com

Dell Kace 1000 SMA version 5.4.70402 suffers from multiple cross site scripting vulnerabilities.

tags | exploit, vulnerability, xss
SHA-256 | f31d9466c071de7d9384679b764eb2b12bfadfa571627c915b0ffc7b94cf09ee

Dell Kace 1000 SMA 5.4.70402 Cross Site Scripting

Change Mirror Download
Title:
======
Dell Kace 1000 SMA v5.4.70402 - Persistent Vulnerabilities


Date:
=====
2013-07-16


References:
===========
http://www.vulnerability-lab.com/get_content.php?id=833


VL-ID:
=====
833


Common Vulnerability Scoring System:
====================================
3.5


Introduction:
=============
Dell KACE is to provide an appliance-based approach to systems management, to create time for systems administration professionals,
while saving money for their companies. Dell KACE Systems Management Appliances are available as both physical and virtual appliances.

The KACE Management Appliance delivers a fully integrated systems management solution, unlike traditional software approaches that
can require complex and time-consuming deployment and maintenance. KACE accomplishes this via an extremely flexible, intelligent
appliance-based architecture that typically deploys in days and is self maintaining. The KACE Management Appliance also provides
direct access to time-saving ITNinja systems management community information using AppDeploy Live, the leading destination for end
point administrators. The result: Comprehensive systems management that is easy-to-use and that can be more economical than software
only alternatives. Read more in the white paper KACE K1000 Management Appliance Architecture: Harnessing the Power of an
Appliance-based Architecture. The KACE Management Appliance is designed for enterprises and business units with up to 20,000 nodes.

(Copy of the Vendor Homepage: http://www.kace.com/products/systems-management-appliance )


Abstract:
=========
The Vulnerability Laboratory Research Team discovered a web session vulnerability in Dell Kace K1000, Systems Management Appliance.


Report-Timeline:
================
2013-01-24: Researcher Notification & Coordination
2013-02-06: Vendor Notification
2013-02-08: Vendor Response/Feedback
2013-**-**: Vendor Fix/Patch
2013-07-16: Public Disclosure


Status:
========
Published


Affected Products:
==================
DELL
Product: Kace K1000 SMA 5.4.70402


Exploitation-Technique:
=======================
Remote


Severity:
=========
Medium


Details:
========
Multiple persistent input validation web vulnerabilities are detected in Dell Kace K1000, Systems Management Appliance.
The vulnerabilityallows an attacker to inject own malicious script code in the vulnerable module on application side (persistent).

The first vulnerability is located in the `Inventory` module with the bound vulnerable Ip-address, Mac, Os Name, Service pack,
Notes and Label Name parameters. The persistent injected script code will be executed directly out of the `Computer` listing
when processing to manage the earlier inserted machines in dbms context.

The second vulnerability is located in the `Distribution` module with the bound vulnerable Machine Name and Mac address parameters.
The persistent injected script code will be executed directly out of the `Walk-on-lan` exception handling mechanism when a malicious
data is inserted in the vulnerable fields.

Successful exploitation of the vulnerabilities result in persistent session hijacking, persistent phishing, persistent external
redirects, persistent external malware loads via inject and persistent vulnerable module web context manipulation.

Vulnerable Section(s):
[+] Inventory => Computers
[+] Inventory => Computers
[+] Distribution => Wake-on-lan

Vulnerable Module(s):
[+] Add New Item
[+] Add Label
[+] Add new Item

Vulnerable Parameter(s):
[+] [Ip-address] [Mac] [Os Name] [Service pack] [Notes]
[+] [Label Name]
[+] [Machine Name] [Mac address]

Affected Modules(s):
[+] Inventory => Computers
[+] Inventory => Computers => Choose Action Menu => Apply label
[+] Distribution => Wake-on-lan =>Exception handeling


Proof of Concept:
=================
The vulnerability can be exploited by remote attackers with low user interaction and low privilege application user account.
For demonstration or reproduce ...

1.1

URL: https://pub23.127.0.0.1:1336/adminui/machine.php?ID=1
Affected Module: Inventory => Computers


Code Review:

<div style="margin-left:15px; color: #005FA9; font-family:Verdana,Arial,Helvetica,sans-serif; font-size:10px; font-weight:300;">

<script type="text/javascript" src="/common/js/scw.js"></script>
<script type="text/javascript">

// this will get set at the end of the page, after we've generated all the dynamic sections
var gLastSectionId = 0;
</script>
[<a href="#" onclick='expandAllDetail(gLastSectionId, 1);'>Expand All</a>]
[<a href="#" onclick='expandAllDetail
(gLastSectionId);printSpecial()'>Printer Friendly Version</a>]
[<a href="history_log.php?HISTORY_TYPE=ASSET&TYPE_NAME=
Computer&TYPE_ID=8&NAME=%26lt%3Bh1%26gt%3BName%26lt%3B%2Fh1%26gt%3B&SHOW_ALL=1" onclick='logPopup(this); return false;'>Show All History</a>]

<div id="printReady" style="margin-top:2px;">
<table border="0" cellspacing="0" cellpadding="0"
style="border-collapse:collapse;width:70%;">
<tbody>
<tr class="detail_page_section_heading_no_cursor">
<td colspan="3">

<a style="cursor: pointer;cursor: hand;" onclick="hideShowDetail('section1',null,'','',''); return false;">Summary</a>
</td>
</tr>
</tbody>

<tbody id="section1" style="display:none;">
<tr valign="top" class="rowHighlightData"><td width="1%"> </td><td style="width:150px;min-
width:100px;">Name:</td><td><h1>Name</h1></td></tr>
<tr valign="top" class="rowData"><td width="1%"> </td>
<td style="width:150px;min-width:100px;">Manual Entry:</td><td>Manually Entered Record, no communication with the server
[<a href="/adminui/machine_edit.php?ID=2">Edit</a>]</td></tr>
<tr valign="top" class="rowHighlightData"><td width="1%"> </td>
<td style="width:150px;min-width:100px;">IP Address:</td><td>[PERSISTENT INJECTED SCRIPT CODE!] <select onchange="
if(this.options[this.selectedIndex].value=='1') MachineAction('<h1>Ip-Address</h1>','<h1>Name</h1>', 2, encodeURI('mstsc.exe /v:KACE_HOST_IP /w:900 /h:800'));">
<option value="">Action...</option><option title="Launch: mstsc.exe /v:KACE_HOST_IP /w:900 /h:800" value="1">Action 1</option></select></td></tr>

<tr valign="top" class="rowData"><td width="1%"> </td><td style="width:150px;min-width:100px;">MAC:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td>
</tr>
<tr valign="top" class="rowHighlightData"><td width="1%"> </td><td style="width:150px;min-width:100px;">
Processors:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top" class="rowData"><td width="1%"> </td><td style="width:150px;
min-width:100px;">OS Name:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]v</td></tr>
<tr valign="top" class="rowHighlightData"><td width="1%"> </td>
<td style="width:150px;min-width:100px;">Service Pack:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top" class="rowData">
<td width="1%"> </td><td style="width:150px;min-width:100px;">Notes:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top"
class="rowHighlightData"><td width="1%"> </td><td style="width:150px;min-width:100px;">Record Created:</td><td>01/28/2013 05:31:49</td></tr>

<tr class="rowData"><td colspan="3"> </td></tr>
</tbody><tbody><tr class="detail_page_group_heading"><td colspan="3">Inventory Information
</td></tr></tbody>
<tbody>
<tr class="detail_page_section_heading_no_cursor">
<td colspan="3">
<a style="cursor: pointer;cursor: hand;"
onclick="hideShowDetail('section2',null,'','',''); return false;">Hardware</a> <span style="color:#909090"> [no changes]</span>
</td>
</tr>
</tbody>
<tbody id="section2" style="display:none;">
<tr valign="top" class="rowHighlightData"><td width="1%"> </td>
<td style="width:150px;min-width:100px;">Processors:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top" class="rowData"><td width="1%"> </td><td style="width:150px;min-width:100px;">CD/DVD Drives:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top"
class="rowHighlightData"><td width="1%"> </td><td style="width:150px;min-width:100px;">
Sound Devices:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top" class="rowData"><td width="1%"> </td>
<td style="width:150px;min-width:100px;">Video Controllers:</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr valign="top"
class="rowHighlightData"><td width="1%"> </td><td style="width:150px;min-width:100px;">Monitor:
</td><td>[PERSISTENT INJECTED SCRIPT CODE!]</td></tr>
<tr class="rowData"><td colspan="3"> </td></tr>
</tbody><tbody>
<tr class="detail_page_section_heading_no_cursor">
<td colspan="3">
<a style="cursor: pointer;cursor: hand;" onclick="hideShowDetail
('section3',null,'','',''); return false;">Printers (1)</a>
</td>

...



1.2

URL:https://pub23.127.0.0.1:1336/adminui/computer_inventory.php

Affected Module: Inventory =>Computers => choose action => Apply Label


Code Review:


<td class="inputFormat"><select name="FINDFIELDS[EXP_SELECT8]" id="FINDFIELDS[EXP_SELECT8]" onchange="$('FINDFIELDS[INPUT8]').disabled =

($F(this) == 'NULL' || $F(this) == 'NOT_NULL')" style="width:auto">
<option value="NOT_EQUAL" title="!=">!=
</option>
<option value="GT" title=">">></option>
<option value="LT" title="<"><</option>
<option value="EQUALS" title="=">=</option>

<option value="BEGINS_WITH" title="begins with">begins with</option>
<option value="CONTAINS" title="contains">contains</option>
<option
value="NOT_BEGINS_WITH" title="does not begin with">does not begin with</option>
<option value="NO_CONTAIN" title="does not contain">does not
contain</option>
<option value="NOT_ENDS_WITH" title="does not end with">does not end with</option>
<option value="NOT_MATCH_REGEX" title="does
not match REGEX">does not match REGEX</option>
<option value="ENDS_WITH" title="ends with">ends with</option>
<option value="NOT_NULL" title="
is NOT NULL">is NOT NULL</option>
<option value="NULL" title="is NULL">is NULL</option>
<option value="MATCH_REGEX" title="matches REGEX">matches
REGEX</option>
</select>
</td>
<td class="inputFormat"><input class="inputFormat" name="FINDFIELDS[INPUT8]" id="FINDFIELDS[INPUT8]" value=""
size="46" maxlength="255" /></td>
</tr>
<tr>
<td colspan="4" align="center" class="inputFormat">
Choose label:
<select name="FINDFIELDS[FILTER_LABEL]" dojoType="dijit.form.ComboBox">
<script type="dojo/connect">
this.attr("value","");</script>
<option selected value="" title=""></option>
<option value="77" title="">[PERSISTENT INJECTED SCRIPT CODE!]"
>">[PERSISTENT INJECTED SCRIPT CODE!]</option>
</select>

<input name="test_filter" class="inputFormatButton" type="submit"
value="Test Smart Label" />
<input name="create_filter" class="inputFormatButton" type="submit"
value="Create Smart Label" />
<input name="cancel" class="inputFormatButton" type="reset" value="Reset" onclick="document.createFilterForm.reset(); return true;" />
</td>
</tr>

</table>
</form>
</div>
</div>
<div id="createNotifyForm" class="advQueryOuter">
<div class="advQueryInner">

<h2>Create Email Notification</h2>
<p>To create a notification rule simply enter the search criteria, title, email recipient -
then Test & Create:</p> <form name="createNotifyForm" action="/adminui/advanced_query.php" method="post" onreset="fieldsReset();
fieldsOnchange();">
<table border="0" cellspacing="0" cellpadding="0" style="margin-left: auto; margin-right: auto;" align="center">
<tr>
...



1.3

URL: https://pub23.127.0.0.1:1336/adminui/settings_network_scan.php

Affected module: Distribution => Wake-on Lan => Exception handeling


Code Review:

<p>
<b><u>Wake-on-LAN</u></b>
<br/><br/>
This page allows you to wake up a computer or other device that has been inventoried by the K1000
if the remote device is attached to the network and supports Wake-on-LAN. If the device you wish to wake is not inventoried by the K1000
but you still know the MAC (Hardware) address and its last-known IP address, you can manually enter the info to wake the device.
</p>

<div class="roundbottom">
<img src="./images/RoundRectBottomLeft.gif" alt="" width="15" height="15" class="corner" style="display: none;">
</div>
</div>

<span class="filtercount" style="display:none" id="hidden_machine_picker_count"></span>
<span class="filtercount" style="display:none
" id="hidden_device_picker_count"></span>
<form class="edit" action="" method="post" target="_self" />
<div class="wordwrap messageBox">
<span class="messageBoxTitle">Please correct the following errors:</span><ul><li class="error">A Wake-on-LAN packet was sent to
wake <strong>[PERSISTENT INJECTED SCRIPT CODE!] ([PERSISTENT INJECTED SCRIPT CODE!])</strong>. </li><li class="error">Please note that it may
take several minutes for the device to power on and be available for use.</li></ul></div>
<table cellspacing="1" cellpadding="0" border="0">

<tr>
<td colspan="2" class="inputFormat"><h2>Wake Multiple Devices</h2></td>
</tr>
<tr>
<td class="inputFormat"
style="width: 30%; vertical-align:middle;">Limit To Selected Labels:</td>
<td width="70%">
<select name="label" style="width:
30em" onchange="updateFields(this)" id="label">
<option selected value="" title="Select a label…">Select a label…</option>
<option
value="77" title="">[PERSISTENT INJECTED SCRIPT CODE!]">">[PERSISTENT INJECTED SCRIPT CODE!]</option>
<option value="72"
title="Adobe Flash Player">Adobe Flash Player</option>
<option value="71" title="Adobe Reader X">Adobe Reader X</option>
<option value="49"
title="All Ticket Owners">All Ticket Owners</option>
<option value="33" title="MemberOfBuildingA">MemberOfBuildingA</option>
<option value="32"
title="MemberOfFinanceGroup">MemberOfFinanceGroup</option>
<option value="64" title="Windows 7 - Critical - 2012">Windows 7 - Critical -
2012</option>
<option value="65" title="Windows XP - Critical - 2012">Windows XP - Critical - 2012</option>
</select>
</td>
</tr>

<tr>
<td colspan="2" class="inputFormat"><img src="/adminui/images/timer_16x16.gif" alt="" height="16" width="16" border="0" />
<a href="wol_list.php">Schedule a routine Wake-on-LAN event</a></td>
</tr>
<tr>
<td colspan="2" height="10px"></td>

</tr>
<tr>
<td colspan="2" class="inputFormat"><h2>Wake a Computer</h2></td>
</tr>
<tr>

<td class="inputFormat" style="width: 140px; max-width: 140px; vertical-align:middle;">Limit To Listed Machines:</td>
<td>

<select name="machine[]" size="7" multiple="1" id="machine[]" style="width:30em">
<option value="0"
title="----- Machine Names -----">----- Machine Names -----</option>
</select>
<input class="inputFormat"
type="button" value="Remove" onclick="machineRemoveSelected()" />
<input class="inputFormat" type="button" value="Remove All"
onclick="machineRemoveAll()" />
</td>
</tr>
<tr>
<td height="10px"></td>

<td valign="bottom">
<select name="" id="machine_picker" style="width:30em" onchange="machineAddNameToList(this);
this.selectedIndex = 0; ">
<option value="" title="Loading...">Loading...</option>
</select>


Risk:
=====
The security risk of the persistent input validation web vulnerabilities are estimated as medium(+).


Credits:
========
Vulnerability Laboratory [Research Team] - Ibrahim Mosaad El-Sayed [ibrahim@evolution-sec.com]


Disclaimer:
===========
The information provided in this advisory is provided as it is without any warranty. Vulnerability-Lab disclaims all warranties,
either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability-
Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business
profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some
states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation
may not apply. We do not approve or encourage anybody to break any vendor licenses, policies, deface websites, hack into databases
or trade with fraud/stolen material.

Domains: www.vulnerability-lab.com - www.vuln-lab.com - www.vulnerability-lab.com/register
Contact: admin@vulnerability-lab.com - support@vulnerability-lab.com - research@vulnerability-lab.com
Section: video.vulnerability-lab.com - forum.vulnerability-lab.com - news.vulnerability-lab.com
Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab
Feeds: vulnerability-lab.com/rss/rss.php - vulnerability-lab.com/rss/rss_upcoming.php - vulnerability-lab.com/rss/rss_news.php

Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory.
Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other
media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, sourcecode, videos and
other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed),
modify, use or edit our material contact (admin@vulnerability-lab.com or support@vulnerability-lab.com) to get a permission.

Copyright © 2013 | Vulnerability Laboratory


--
VULNERABILITY LABORATORY RESEARCH TEAM
DOMAIN: www.vulnerability-lab.com
CONTACT: research@vulnerability-lab.com

Login or Register to add favorites

File Archive:

March 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Mar 1st
    16 Files
  • 2
    Mar 2nd
    0 Files
  • 3
    Mar 3rd
    0 Files
  • 4
    Mar 4th
    32 Files
  • 5
    Mar 5th
    28 Files
  • 6
    Mar 6th
    42 Files
  • 7
    Mar 7th
    17 Files
  • 8
    Mar 8th
    13 Files
  • 9
    Mar 9th
    0 Files
  • 10
    Mar 10th
    0 Files
  • 11
    Mar 11th
    15 Files
  • 12
    Mar 12th
    19 Files
  • 13
    Mar 13th
    21 Files
  • 14
    Mar 14th
    38 Files
  • 15
    Mar 15th
    15 Files
  • 16
    Mar 16th
    0 Files
  • 17
    Mar 17th
    0 Files
  • 18
    Mar 18th
    10 Files
  • 19
    Mar 19th
    32 Files
  • 20
    Mar 20th
    46 Files
  • 21
    Mar 21st
    16 Files
  • 22
    Mar 22nd
    13 Files
  • 23
    Mar 23rd
    0 Files
  • 24
    Mar 24th
    0 Files
  • 25
    Mar 25th
    12 Files
  • 26
    Mar 26th
    31 Files
  • 27
    Mar 27th
    19 Files
  • 28
    Mar 28th
    42 Files
  • 29
    Mar 29th
    0 Files
  • 30
    Mar 30th
    0 Files
  • 31
    Mar 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close