Cross-site scripting vulnerability in SolarWinds Web Help Desk

INTRODUCTION

eSecForte Technologies Security Researcher – Abhinav Khanna found Cross-Site Scripting in the Solarwinds Web Help Desk and it has been assigned CVE-2019-16956 by the MITRE.

Solarwinds Web Help Desk centralizes and automates ticketing management tasks so you can better support your customers. Keep track of tasks, including ticket assignment, routing, and escalation. Link incident tickets to a single problem for better organization, associate problem tickets with IT assets, and track the history of asset service requests.

Description:

Cross-Site Scripting (XSS) attacks are a type of injection, in which malicious scripts are injected into otherwise benign and trusted websites. XSS attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end-user. Flaws that allow these attacks to succeed are quite widespread and occur anywhere a web application uses input from a user within the output it generates without validating or encoding it.

 

Impact:

  • Impersonate or masquerade as the victim user.
  • Carry out any action that the user is able to perform.
  • Read any data that the user is able to access.
  • Capture the user’s login credentials.
  • Perform virtual defacement of the website.
  • Inject Trojan functionality into the website.

 

Recommendation:

  1. To prevent XSS in HTTP responses that aren’t intended to contain any HTML or JavaScript, you can use the Content-Type and X-Content-Type-Options headers to ensure that browsers interpret the responses in the way you intend.
  2. Properly validate the data that is entered by the end-user on both client-side and server-side.
  3. Use Content Security Policy to reduce the impact of Cross-Site Scripting, in case the vulnerability exists.
  4. Restrict file types accepted for upload.

Steps to Reproduce:

1. After completing the configuration steps, login using valid credentials.

Cross-site scripting vulnerability

2. Click on Setup and go to Request Types.

cross site scripting vulnerability
cross site scripting vulnerability
cross site scripting vulnerability

3. Click on New, in the Request Type parameter put the payload <svg/onload=alert(“esecforte”);// and click on Save.

cross site scripting vulnerability

4. The XSS payload gets executed successfully.

XSS Attack

[Disclosure Process]

 

  1. Reported the Vulnerability to the Vendor Security or PSIRT Team.
  2. Acknowledged confirmed from the Vendor that vulnerability exists.
  3. CVE has been filed in NVD.
  4. The vendor confirms that the vulnerability is fixed or the latest version, the patch is released.
  5. Vulnerability disclosed to the public.

 

 

[Reference]                                    

 https://www.solarwinds.com/web-help-desk

 https://owasp.org/www-community/attacks/xss/

 

[Has the vendor confirmed or acknowledged the vulnerability?]

Yes
                                                                                     

[Discoverer]                                                                                                      

Abhinav Khanna from eSec Forte Technologies Pvt Ltd