KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded System Passwords

Related Vulnerabilities: CVE-2021-33218  
                							

                <!--X-Body-Begin-->
<!--X-User-Header-->
<a href="/fulldisclosure/"><img src="/images/fulldisclosure-logo.png" class="l-logo right" alt="fulldisclosure logo" width="80"></a>
<h2 class="m-list"><a href="/fulldisclosure/">Full Disclosure</a>
mailing list archives</h2>
<!--X-User-Header-End-->
<!--X-TopPNI-->
<div class="nav-bar">
<div class="nav-link">
<a href="73"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="date.html#74">By Date</a>
<a href="75"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<div class="nav-link">
<a href="73"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="index.html#74">By Thread</a>
<a href="75"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<form class="nst-search center" action="/search/fulldisclosure">
<input class="nst-search-q" name="q" type="search" placeholder="List Archive Search">
<button class="nst-search-button" title="Search">
<img style="width:100%;aspect-ratio:1/1;" alt="" aria-hidden="true" src="/shared/images/nst-icons.svg#search">
</button>
</form>

</div>

<!--X-TopPNI-End-->
<!--X-MsgBody-->
<!--X-Subject-Header-Begin-->
<h1 class="m-title">KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded System Passwords</h1>
<hr>
<!--X-Subject-Header-End-->
<!--X-Head-of-Message-->


<em>From</em>: KoreLogic Disclosures via Fulldisclosure &lt;fulldisclosure () seclists org&gt;


<em>Date</em>: Wed, 26 May 2021 16:06:52 -0500


<!--X-Head-of-Message-End-->
<!--X-Head-Body-Sep-Begin-->
<hr>
<!--X-Head-Body-Sep-End-->
<!--X-Body-of-Message-->
<pre style="margin: 0em;">KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded System Passwords

Title: CommScope Ruckus IoT Controller Hard-coded System Passwords
Advisory ID: KL-001-2021-003
Publication Date: 2021.05.26
Publication URL: <a rel="nofollow" href="https://korelogic.com/Resources/Advisories/KL-001-2021-003.txt">https://korelogic.com/Resources/Advisories/KL-001-2021-003.txt</a>


1. Vulnerability Details

&nbsp;&nbsp;&nbsp;&nbsp; Affected Vendor: CommScope
&nbsp;&nbsp;&nbsp;&nbsp; Affected Product: Ruckus IoT Controller
&nbsp;&nbsp;&nbsp;&nbsp; Affected Version: 1.7.1.0 and earlier
&nbsp;&nbsp;&nbsp;&nbsp; Platform: Linux
&nbsp;&nbsp;&nbsp;&nbsp; CWE Classification: CWE-259: Use of Hard-coded Password
&nbsp;&nbsp;&nbsp;&nbsp; CVE ID: CVE-2021-33218


2. Vulnerability Description

&nbsp;&nbsp;&nbsp;&nbsp; Hard coded, system-level credentials exist on the Ruckus IoT
&nbsp;&nbsp;&nbsp;&nbsp; Controller OVA image, and are exposed to attackers who mount
&nbsp;&nbsp;&nbsp;&nbsp; the filesystem.


3. Technical Description

&nbsp;&nbsp;&nbsp;&nbsp; Ruckus vRIoT server software is available from the software
&nbsp;&nbsp;&nbsp;&nbsp; library at: <a rel="nofollow" href="https://support.ruckuswireless.com/software/">https://support.ruckuswireless.com/software/</a>

&nbsp;&nbsp;&nbsp;&nbsp; Once the OVA is imported into VirtualBox, a VMDK file is
&nbsp;&nbsp;&nbsp;&nbsp; created. The VMDK file can be mounted and the directory
&nbsp;&nbsp;&nbsp;&nbsp; structure and its contents can be perused. The virtual appliance
&nbsp;&nbsp;&nbsp;&nbsp; contains three system accounts with password hashes. The three
&nbsp;&nbsp;&nbsp;&nbsp; accounts are 'root', 'admin', and 'vriotha'. The 'admin'
&nbsp;&nbsp;&nbsp;&nbsp; account is documented in vendor documentation, but not the
&nbsp;&nbsp;&nbsp;&nbsp; other two accounts.

&nbsp;&nbsp;&nbsp;&nbsp; The password for 'admin' is documented and can be changed
&nbsp;&nbsp;&nbsp;&nbsp; by the user. The password for the 'vriotha' account is
&nbsp;&nbsp;&nbsp;&nbsp; 'nplus1user'. The password for the 'vriotha' account
&nbsp;&nbsp;&nbsp;&nbsp; is hardcoded into support scripts. The root hash is still
&nbsp;&nbsp;&nbsp;&nbsp; undergoing password cracking attempts. The 'admin' and 'vriotha'
&nbsp;&nbsp;&nbsp;&nbsp; accounts are restricted in terms of their shell, they do
&nbsp;&nbsp;&nbsp;&nbsp; not drop to typical Unix shell access. The virtual appliance
&nbsp;&nbsp;&nbsp;&nbsp; does not appear to offer a mechanism for changing the default
&nbsp;&nbsp;&nbsp;&nbsp; password from the vendor for the 'root' or 'vriotha' accounts.


4. Mitigation and Remediation Recommendation

&nbsp;&nbsp;&nbsp;&nbsp; The vendor has released an updated firmware (1.8.0.0) which
&nbsp;&nbsp;&nbsp;&nbsp; remediates the described vulnerability. Firmware and release
&nbsp;&nbsp;&nbsp;&nbsp; notes are available at:

&nbsp;&nbsp;&nbsp;&nbsp; <a rel="nofollow" href="https://www.commscope.com/globalassets/digizuite/917216-faq-security-advisory-id-20210525-v1-0.pdf">https://www.commscope.com/globalassets/digizuite/917216-faq-security-advisory-id-20210525-v1-0.pdf</a>


5. Credit

&nbsp;&nbsp;&nbsp;&nbsp; This vulnerability was discovered by Jim Becher (@jimbecher)
&nbsp;&nbsp;&nbsp;&nbsp; of KoreLogic, Inc.


6. Disclosure Timeline

&nbsp;&nbsp;&nbsp;&nbsp; 2021.03.30 - KoreLogic submits vulnerability details to
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CommScope.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.03.30 - CommScope acknowledges receipt and the intention
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to investigate.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.04.06 - CommScope notifies KoreLogic that this issue,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; along with several others reported by KoreLogic,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; will require more than the standard 45 business
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; day remediation timeline.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.04.06 - KoreLogic agrees to extend disclosure embargo if
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; necessary.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.04.30 - CommScope informs KoreLogic that remediation for
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this vulnerability will be available inside of the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; standard 45 business day timeline. Requests
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; KoreLogic acquire CVE number for this
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vulnerability.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.14 - 30 business days have elapsed since the
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vulnerability was reported to CommScope.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.17 - CommScope notifies KoreLogic that the patched
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; version of the firmware will be available the week
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; of 2021.05.24.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.19 - KoreLogic requests CVE from MITRE.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.19 - MITRE issues CVE-2021-33218.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.25 - CommScope releases firmware 1.8.0.0 and associated
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; advisory.
&nbsp;&nbsp;&nbsp;&nbsp; 2021.05.26 - KoreLogic public disclosure.


7. Proof of Concept

&nbsp;&nbsp;&nbsp;&nbsp; With the VMDK file mounted at the current working directory:
&nbsp;&nbsp;&nbsp;&nbsp; $ sudo cat etc/shadow
&nbsp;&nbsp;&nbsp;&nbsp; root:$1$root$.6wlmowMW0KVjst8z6Yqa.:17393:0:99999:7:::
&nbsp;&nbsp;&nbsp;&nbsp; ...
&nbsp;&nbsp;&nbsp;&nbsp;
admin:$6$AwyhYDBW$KS5q63LZBuQxPM2RG1N/.TvbaKC5gnoq8ERgMSBGms1EL9IZPrM4SscOvsF/FsoD1fgFjYrJF1as0BSYM0SVa0:17667:0:99999:7:::
&nbsp;&nbsp;&nbsp;&nbsp;
vriotha:$6$c4jEcmjj$uDjuSxfkzd0QHt/MAGnPJ798izuVhq11MSmkS3iXtDg.iqSumzou4.HauYOrSIYl5JdQlrbZAL7PAkPfrxcxH0:18626:0:99999:7:::

&nbsp;&nbsp;&nbsp;&nbsp; $ egrep '^root|^admin|^vriotha' etc/passwd
&nbsp;&nbsp;&nbsp;&nbsp; root:x:0:0:root:/root:/bin/bash
&nbsp;&nbsp;&nbsp;&nbsp; admin:x:1001:1001::/home/admin:/VRIOT/ops/scripts/ras
&nbsp;&nbsp;&nbsp;&nbsp; vriotha:x:1003:1003::/home/vriotha:/usr/bin/rssh

&nbsp;&nbsp;&nbsp;&nbsp; /VRIOT/ops/scripts/haN1/n1_ha.py:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scpstr = "vriotha@"+slave_ip+":/tmp/authkey &gt;/dev/null 2&gt;&amp;1"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
#call(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr])
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr]))
&nbsp;&nbsp;&nbsp;&nbsp; ...
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ### Call slave API to create user #####
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # HOTST_URL = "<a rel="nofollow" href="https://&quot;+replace_ip+&quot;/service/v1/createUser&quot;">https://"+replace_ip+"/service/v1/createUser"</a>;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # json_request = {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "username":"vriotha",
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "password":"nplus1user"
&nbsp;&nbsp;&nbsp;&nbsp; ...
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','/etc/corosync/authkey',scpstr]))

&nbsp;&nbsp;&nbsp;&nbsp; /VRIOT/ops/scripts/entrypoint.py:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userpwd = 'useradd vriotha ; echo vriotha:nplus1user | chpasswd &gt;/dev/null 2&gt;&amp;1'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.system(userpwd)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; call(['usermod','-aG','sudo','vriotha'],stdout=devNullFile)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; call(['chsh','-s','/usr/bin/rssh','vriotha'],stdout=devNullFile)

&nbsp;&nbsp;&nbsp;&nbsp; /VRIOT/ops/scripts/haN1/ha_slave.py:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scpstr = "vriotha@"+master_ip+":/VRIOT/ha/"
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.system("
".join(['sshpass','-p','"nplus1user"','scp','-o','StrictHostKeyChecking=no','-r',scpstr,'/VRIOT/'+master_ip+'/']))



The contents of this advisory are copyright(c) 2021
KoreLogic, Inc. and are licensed under a Creative Commons
Attribution Share-Alike 4.0 (United States) License:
<a rel="nofollow" href="http://creativecommons.org/licenses/by-sa/4.0/">http://creativecommons.org/licenses/by-sa/4.0/</a>

KoreLogic, Inc. is a founder-owned and operated company with a
proven track record of providing security services to entities
ranging from Fortune 500 to small and mid-sized companies. We
are a highly skilled team of senior security consultants doing
by-hand security assessments for the most important networks in
the U.S. and around the world. We are also developers of various
tools and resources aimed at helping the security community.
<a rel="nofollow" href="https://www.korelogic.com/about-korelogic.html">https://www.korelogic.com/about-korelogic.html</a>

Our public vulnerability disclosure policy is available at:
<a rel="nofollow" href="https://korelogic.com/KoreLogic-Public-Vulnerability-Disclosure-Policy.v2.3.txt">https://korelogic.com/KoreLogic-Public-Vulnerability-Disclosure-Policy.v2.3.txt</a>

</pre><p><strong>Attachment:
<a href="att-74/signature_asc.bin"><tt>signature.asc</tt></a></strong>

<em>Description:</em> OpenPGP digital signature</p>
<pre style="margin: 0em;">
_______________________________________________
Sent through the Full Disclosure mailing list
<a rel="nofollow" href="https://nmap.org/mailman/listinfo/fulldisclosure">https://nmap.org/mailman/listinfo/fulldisclosure</a>
Web Archives &amp; RSS: <a rel="nofollow" href="http://seclists.org/fulldisclosure/">http://seclists.org/fulldisclosure/</a></pre>
<!--X-Body-of-Message-End-->
<!--X-MsgBody-End-->
<!--X-Follow-Ups-->
<hr>
<!--X-Follow-Ups-End-->
<!--X-References-->
<!--X-References-End-->
<!--X-BotPNI-->
<div class="nav-bar">
<div class="nav-link">
<a href="73"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="date.html#74">By Date</a>
<a href="75"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
<div class="nav-link">
<a href="73"><img src="/images/left-icon-16x16.png" alt="Previous" width="16" height="16"></a>
<a href="index.html#74">By Thread</a>
<a href="75"><img src="/images/right-icon-16x16.png" alt="Next" width="16" height="16"></a>
</div>
</div>
<h3 class="m-thread">Current thread:</h3>
<ul class="thread">
<li><strong>KL-001-2021-003: CommScope Ruckus IoT Controller Hard-coded System Passwords</strong> <em>KoreLogic Disclosures via Fulldisclosure (May 26)</em>
</li></ul>


<!--X-BotPNI-End-->
<!--X-User-Footer-->
<!--X-User-Footer-End-->
<p>