Zyxel is a popular brand for firewalls that are marketed towards small and medium businesses. Their Unified Security Gateway (USG) product line is often used as a firewall or VPN gateway. As a lot of us are working from home, VPN-capable devices have been selling quite well lately.
When doing some research (rooting) on my Zyxel USG40, I was surprised to find a user account 'zyfwp' with a password hash in the latest firmware version (4.60 patch 0). The plaintext password was visible in one of the binaries on the system. I was even more surprised that this account seemed to work on both the SSH and web interface.
$ ssh firstname.lastname@example.org
Router> show users current
The user is not visible in the interface and its password cannot be changed. I checked the previous firmware version (4.39) and although the user was present, it did not have a password. It seemed the vulnerability had been introduced in the latest firmware version. Even though older versions do not have this vulnerability, they do have others (such as this buffer overflow) so you should still update.
As SSL VPN on these devices operates on the same port as the web interface, a lot of users have exposed port 443 of these devices to the internet. Using publicly available data from Project Sonar, I was able to identify about 3.000 Zyxel USG/ATP/VPN devices in the Netherlands. Globally, more than 100.000 devices have exposed their web interface to the internet.
As the zyfwp user has admin privileges, this is a serious vulnerability. An attacker could completely compromise the confidentiality, integrity and availability of the device. Someone could for example change firewall settings to allow or block certain traffic. They could also intercept traffic or create VPN accounts to gain access to the network behind the device. Combined with a vulnerability like Zerologon this could be devastating to small and medium businesses.
Because of the seriousness of the vulnerability and it being so easy to exploit, we have decided not to release the password for this account at this time. We do expect others to find and release it, which is why we suggest you install the updated firmware as soon as possible.
I quickly sent out a mail to Zyxel to report the undocumented user account. According to Zyxel, the account was designed to deliver automatic firmware updates for access points via FTP. They released a fixed firmware version less than two weeks later. You can find the release notes for the USG40 here.
This is the entry in the release notes that describes this vulnerability:
a. Vulnerability fix for undocumented user account.
We would like to thank the Zyxel Security Team for their quick response and patch.
2020-11-29: Eye reports vulnerability to Zyxel security.
2020-11-30: Zyxel acknowledges receipt.
2020-12-02: Zyxel requests more information about how the vulnerability was discovered.
2020-12-03: Eye sends more details.
2020-12-08: Zyxel releases beta firmware 4.60-WK48 and removes the vulnerable firmware version from their site.
2020-12-15: Zyxel releases firmware 4.60 patch 1 for most devices.
2020-12-18: Zyxel releases firmware 4.60 patch 1 for all remaining devices.
2020-12-23: Zyxel publishes advisory.
Sustainability. Growth. Digitalisation. These are the words everyone’s using about the logistics landscape of 2023. But what do they mean for individual businesses – and for security?
Multi-Factor Authentication (MFA) is not sufficient. Various attacks, such as EvilProxy, can bypass MFA. Here, we discuss how you can defend yourself.
Software and operating systems are constantly evolving. Those that are no longer maintained - such as Window Server - may be hiding unmitigated security vulnerabilities within your business. Proactively assessing your infrastructure strengthens your security posture and your resilience against cyber threats.
Vishing attacks (voice phishing attacks) are getting more sophisticated. In this article, we cover the details of a real vishing attack that we prevented. Includes digital forensics, incident response, mitigation and prevention measures and IoC lists.