QNAP QTS 4.2.1 Build 20160601 Cross Site Scripting
Posted on 22 August 2016
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 dvisory ID: SYSS-2016-051 Product: QNAP QTS Manufacturer: QNAP Affected Version(s): 4.2.1 Build 20160601 Tested Version(s): 4.2.1 Build 20160601 - 4.2.2 Build 20160812 Vulnerability Type: Reflected Cross-Site Scripting (CWE-79) Risk Level: Medium Solution Status: unfixed Manufacturer Notification: 2016-06-06 Solution Date: tbd. Public Disclosure: 2016-08-18 CVE Reference: Not assigned Author of Advisory: Sebastian Nerz (SySS GmbH) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Overview: QTS is the operating system used by manufacturer QNAP on its series of NAS devices. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Vulnerability Details: The SySS GmbH found a reflected cross-site scripting vulnerability in the /cgi-bin/application/appRequest.cgi component of the QTS administrative interface. This type of vulnerability allows an attacker to create an URL which, when opened in the victims browser, leads to the display of active element like inserted JavaScript code in the victims browser, leading to the exeuction of this code. The code can then be used to e.g. execute commands in the scope of the user, infect the users browser and so on. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Proof of Concept (PoC): 1. Open the following URL in a browser without sufficient rXSS protection (e.g. Firefox): http://[QNAPIP]:8080/cgi-bin/application/appRequest.cgi?action=getQPKGDownloads&qname=Testlink%3Cimg%20src=foo%20onError=alert%281%29%3E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Solution: The manufacturer has not released any security update or patch so far. Administrators of QNAP QTS 4.2 installations should restrict access to a QNAP device to trusted users. Users should be informed about the vulnerability and tutored about security awareness. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclosure Timeline: 2016-06-06: Vulnerability discovered and reported to manufacturer 2016-06-20: Vulnerability report confirmed by manufacturer 2016-07-06: Manufacturer asked for timeline regarding a fix 2016-07-18: Manufacturer reminded about upcoming public disclosure 2016-08-18: Public disclosure ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ References: [1] Product website for QNAP QTS http://www.qnap.com/qts/4.2/en/ [2] SySS Security Advisory SYSS-2016-051 https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2016-051.txt [3] SySS Responsible Disclosure Policy https://www.syss.de/en/responsible-disclosure-policy/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Credits: Security vulnerability found by Sebastian Nerz of the SySS GmbH. E-Mail: sebastian.nerz@syss.de Public Key: https://www.syss.de/fileadmin/dokumente/Materialien/PGPKeys/Sebastian_Nerz.asc Key ID: 0x9180FDB2 Key Fingerprint: 79DC 2CEC D18D F92F CBB4 AF09 D12D 26A4 9180 FDB2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Disclaimer: The information provided in this security advisory is provided "as is" and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible. The latest version of this security advisory is available on the SySS Web site. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Copyright: Creative Commons - Attribution (by) - Version 3.0 URL: http://creativecommons.org/licenses/by/3.0/deed.en -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBCgAGBQJXtWVmAAoJENEtJqSRgP2yoOYIAIAt8/wPa0J2QHCUQpDsO3VH uekOzXqZhB17FhXKe/N+X3TEFBwO1BE8ohQdprabgd0q+e0Cxiod9Asz+WTE4yZ0 lRNAMfAeMciX9F7UaMj9InNUFkv1sVo4cWGyHRb9DoI+snOEO/DO8Ssx9MbfJMRq cNSSO9LAz5asuehiJ6YDYhK7EkcLpj0xg38Kku31NwYWCU6jiAvgJc+NkUjtNSRm ROAtMvx3wuW7XigkVR+mwtMAgLIj+fVOxypcPoyjupTNMUsRgMgHOQVs3j139GQK LBnyilmAO4S6EDj27FOXEW5PKC0k72uBFDs8U70PCETeI3e92d9gXeBOt6TIlmw= =9tl1 -----END PGP SIGNATURE-----