Reflected XSS In Zoho Manageengine Servicedesk Plus

Title

Reflected XSS

Product

ZOHO Manageengine ServiceDesk Plus

Vulnerable Version

<= 11.0 Build 11007

Fixed Version

11.0 Build 11010

CVE Number

CVE-2020-6843

Impact

medium

Found

01.12.2019

By

Johannes Kruchem (Office Vienna) | SEC Consult Vulnerability Lab

The service desk application Zoho Corporation’s “ManageEngine ServiceDesk Plus” renders a value unfiltered, allowing an attacker to execute arbitrary JavaScript code. The JavaScript code is not stored, but is reflected. The parameter is only present as administrator, which limits its usage in this authenticated context.

Vendor Description

“ServiceDesk Plus is a game changer in turning IT teams from daily fire-fighting to delivering awesome customer service. It provides great visibility and central control in dealing with IT issues to ensure that businesses suffer no downtime. For 10 years and running, it has been delivering smiles to millions of IT folks, end users, and stakeholders alike.

Source: https://www.manageengine.com/products/service-desk/

Business Recommendation

The vendor published a patch for ServiceDesk Plus with service pack 11010. It is recommended to install the patch with the included patcher. An in-depth security analysis performed by security professionals is highly advised, as the software may be affected from further security issues.

Vulnerability Overview / Description

Reflected Cross-Site Scripting (CVE-2020-6843)

A parameter of the module called “geti18nkey” reflects unfiltered user input if it is changed. The corresponding request is frequently sent in the background if a pre-configured network scan was started.

Proof Of Concept

Reflected Cross-Site Scripting (CVE-2020-6843)

To reproduce the issue visit this URL authenticated as administrator:

$IP/CustomReportHandler.do=
<img%20src%20onerror%3dalert(1)>

How the parameter was found:

  1. Authenticate as administrator and add an IP range in Admin -> Networkscan.
  2. Click the “play” button next to the created IP range to start the scan.
  3. To check the status of a started network scan frequent requests like
    $IP/CustomReportHandler.do?
    module=geti18nkey&key=sdp.admin.network.listview.discoverystatus.scanned&sdpcsrfparam=
    <%someUUID%>

    are sent to the server.
  4. The value of the “key” parameter will be reflected if you change a single character.
    The “sdpcsrfparam” isn’t needed in order to trigger the XSS.
  5. XSS can thus be exploited by calling $IP/CustomReportHandler.do?
    module=geti18nkey&key=<img%20src%20onerror%3dalert(1)>"

Vulnerable / Tested Versions

The following versions have been tested which were the latest versions available at the time of the test:

  • 10.5
  • 11.0 Build 11007

Vendor Contact Timeline

2019-12-05 Contacting vendor through ManageEngine Security Response Center (MESRC). Uploaded security advisory to bugbounty.zoho.com
2019-12-09 Vendor promised to fix the vulnerability.
2020-01-08 Reported issue has been fixed in service pack 11010.
2020-01-22 Public release of security advisory.

Solution

The vendor provides an updated version which should be installed immediately.

https://www.manageengine.com/products/service-desk/download.html

The vendor also provided a link to their readme about the new release:

https://www.manageengine.com/products/service-desk/readme.html#11010

Workaround

None.

Advisory URL

https://www.sec-consult.com/en/vulnerability-lab/advisories/index.html

EOF Johannes Kruchem / @2020

Contact

Interested to work with the experts of SEC Consult? Send us your application.
Want to improve your own cyber security with the experts of SEC Consult? Contact our local offices.