Overwiew -------- SEARCH-LAB performed an independent security assessment on four different D-Link devices. The assessment has identified altogether 53 unique vulnerabilities in the latest firmware (dated 30-07-2014). Several vulnerabilities can be abused by a remote attacker to execute arbitrary code and gain full control over the devices. We list below several of the problematic areas, where the most critical findings were discovered: - Authentication can be bypassed in several ways, allowing an attacker to take full control over the device without the need to exploit any programming or design bugs. - We found a few half-baked security workarounds to fix earlier vulnerabilities that introduced even more serious problems, leading to command injection and the possibility to take full control over the device. - Even though there were several security patches and workarounds in the session management part of the code, where we still found serious problems. It was still possible to perform unauthenticated file upload to an arbitrarily chosen location, which also lead to the possibility for an attacker to take full control over the device. - Default users (root, nobody) can be used during authentication, and the administrator cannot change the default (empty) password of these users from the user interface. Details and CVEs ---------------- For the specific details see our full report in [SL-ADV]. We suppose that some of the vulnerabilities were discovered by other researchers too, but we saw it reasonable and useful to publish our findings in such a comprehensive study. Naturally in the report we tried to find and reference all of the previous publications that may have found the same problems. We obtained the following CVE numbers for the above described vulnerabilities: - CVE-2014-7858: Check_login bypass vulnerability in DNR-326 - CVE-2014-7859: Buffer overflow in login_mgr.cgi and in file_sharing.cgi - CVE-2014-7860: Unauthenticated photo publish We also reported two other authentication bypass vulnerabilities (CVE-2014-7857) to D-Link; but since these problems have not been addressed correctly yet, we will only publish them after 22/06/2015. Affected devices ---------------- Main targeted devices during the assessment: - DNS-320, Revision A: 2.03, 13/05/2013 - DNS-320L, 1.03b04, 11/11/2013 - DNS-327L, 1.02, 02/07/2014 - DNR-326, 1.40b03, 7/19/2013 Other devices were influenced by one or more vulnerabilities: - DNS-320B, 1,02b01, 23/04/2014 - DNS-345, 1.03b06, 30/07/2014 - DNS-325, 1.05b03, 30/12/2013 - DNS-322L, 2.00b07 See [SL-ADV] for the complete vulnerability matrix at the time of the assessment. We note that other devices may also be vulnerable. Solution -------- Most of the vulnerabilities were fixed in: - DNS-320L 1.04.B12 - DNS-327L 1.03.B04 Some of the vulnerabilities were fixed in: - DNR-326 2.10.B03 - DNR-322L 2.10.B03 Besides installing the patches, where available, we highly recommend not to expose the web interface of the DNS and DNR devices to the internet. Since the devices use the UPnP feature, you should disable it in the router. Credits ------- These vulnerabilities were discovered and researched by Gergely Eberhardt (@ebux25) from SEARCH-LAB Ltd. (www.search-lab.hu) References ---------- [SL-ADV] Security Advisory, MULTIPLE VULNERABILITIES IN D-LINK DNS-320, 320L, 327L AND DNR-326 DEVICES, http://www.search-lab.hu/media/D-Link_Security_advisory_3_0_public.pdf [DNS-320] http://support.dlink.com/ProductInfo.aspx?m=DNS-320 [DNS-320L] http://support.dlink.com/ProductInfo.aspx?m=DNS-320L [DNS-327L] http://support.dlink.com/ProductInfo.aspx?m=DNS-327L [DNS-345] http://support.dlink.com/ProductInfo.aspx?m=DNS-345 [DNS-325] http://support.dlink.com/ProductInfo.aspx?m=DNS-325 [DNR-326] http://support.dlink.com/ProductInfo.aspx?m=DNR-326 [DNR-322L] http://support.dlink.com/ProductInfo.aspx?m=DNR-322L