CVE-2020-9054: Zyxel Multiple NAS Devices OS Command Injection Vulnerability
Multiple ZyXEL network-attached storage (NAS) devices running firmware version 5.21 contain a pre-authentication command injection vulnerability, which may allow a remote, unauthenticated attacker to execute arbitrary code on a vulnerable device. ZyXEL NAS devices achieve authentication by using the weblogin.cgi CGI executable. This program fails to properly sanitize the username parameter that is passed to it. If the username parameter contains certain characters, it can allow command injection with the privileges of the web server that runs on the ZyXEL device. Although the web server does not run as the root user, ZyXEL devices include a setuid utility that can be leveraged to run any command with root privileges. As such, it should be assumed that exploitation of this vulnerability can lead to remote code execution with root privileges. By sending a specially-crafted HTTP POST or GET request to a vulnerable ZyXEL device, a remote, unauthenticated attacker may be able to execute arbitrary code on the device. This may happen by directly connecting to a device if it is directly exposed to an attacker. However, there are ways to trigger such crafted requests even if an attacker does not have direct connectivity to a vulnerable devices. For example, simply visiting a website can result in the compromise of any ZyXEL device that is reachable from the client system. Affected products include: NAS326 before firmware V5.21(AAZF.7)C0 NAS520 before firmware V5.21(AASZ.3)C0 NAS540 before firmware V5.21(AATB.4)C0 NAS542 before firmware V5.21(ABAG.4)C0 ZyXEL has made firmware updates available for NAS326, NAS520, NAS540, and NAS542 devices. Affected models that are end-of-support: NSA210, NSA220, NSA220+, NSA221, NSA310, NSA310S, NSA320, NSA320S, NSA325 and NSA325v2
CVE-2020-9054 is a pre-authentication OS command injection flaw affecting multiple Zyxel network-attached storage (NAS) devices. A remote attacker who can reach the device over the network may be able to execute arbitrary code without valid credentials. Because NAS systems often hold shared files, backups, and credentials, successful abuse can lead to data theft, ransomware staging, or further movement inside the network. Confirm exact product coverage and fixed builds against the vendor advisory.
How it works
The weakness is classified as CWE-78 (OS Command Injection). In products of this class, user-controlled input is passed to a system shell or command interpreter without adequate sanitization or parameterization. When the vulnerable interface is reachable before authentication, an unauthenticated attacker can supply crafted input that the device interprets as operating-system commands. Those commands then run with the privileges of the affected service, which on many NAS appliances is high enough to read or alter stored data and install persistence. Public detail on the precise injection point and request format is limited; treat any internet-facing management or file-service endpoint on an affected Zyxel NAS as potentially exploitable until the vendor patch is applied and verified.
Am I affected? How to find it in your systems
Zyxel NAS appliances are commonly deployed in small-to-medium business and branch offices for file sharing, backup targets, and media storage. They may sit on internal LANs, DMZs, or—less ideally—directly on the internet with ports forwarded for remote access.
- Inventory: query asset-management, network-discovery, or configuration-management databases for Zyxel NAS models. Check DHCP/DNS records, switch CAM tables, and firewall object groups for hostnames or MAC OUI ranges associated with Zyxel.
- Version check: log into each device’s administrative interface or use any supported CLI/API to record the exact firmware version. Compare that version against the fixed releases listed in the vendor advisory for CVE-2020-9054; do not rely on generic version ranges.
- Exposure check: identify whether the device’s web UI, CGI endpoints, or other management services are reachable from untrusted networks. Review firewall and NAT rules for inbound access to those ports.
- Telemetry: look for unusual process execution, unexpected outbound connections, or new administrative accounts on the NAS. Web-server or system logs that show anomalous parameter strings or command-like payloads in pre-authentication requests may indicate probing; correlate with the vendor’s guidance on log locations.
How to remediate
Patching is the primary fix. Apply the firmware updates published by Zyxel for the specific models covered by CVE-2020-9054, following the vendor’s installation instructions and any required reboot or verification steps. After updating, re-check the running firmware version to confirm the fix is active.
- Remove unnecessary internet exposure of management and file-service ports.
- Enforce network segmentation so NAS devices reside only on trusted storage or server VLANs.
- Replace default or shared credentials, enable multi-factor authentication if the platform supports it, and restrict administrative access to jump hosts or management networks.
- Disable any unused services or legacy protocols that increase attack surface.
- Ensure regular, tested offline or immutable backups of data stored on the NAS.
If you can't patch immediately
Until the vendor update can be installed, reduce risk with compensating controls:
- Block or tightly restrict inbound access to the NAS from untrusted networks at the firewall; allow only specific source IPs if remote access is mandatory.
- Place the device behind a reverse proxy or web-application firewall that can drop suspicious request patterns typical of command-injection attempts (virtual patching); tune rules carefully to avoid breaking legitimate traffic.
- Disable any non-essential remote-management or CGI features that the advisory or product documentation associates with the vulnerable path.
- Increase monitoring: forward NAS logs to a SIEM, alert on new processes, unexpected outbound connections, or authentication anomalies, and retain packet captures of management traffic if feasible.
- Segment the NAS so that compromise cannot immediately reach domain controllers, backup repositories, or other high-value assets.
These measures lower likelihood and impact but do not replace the firmware update.
If your data may have been exposed
Actively exploited pre-authentication vulnerabilities on internet-reachable NAS devices have led to data theft and follow-on compromise in other incidents. If logs or external notifications suggest your Zyxel NAS was targeted, isolate the device, preserve forensic images and logs, rotate credentials that may have been stored or cached on it, and restore data from known-good backups after verifying integrity. You can also run a free exposure scan of your email addresses against known breach data sets to see whether associated accounts appear in public breach corpora, then force password resets and enable stronger authentication where needed.
AICompiled with AI assistance from public sources and published under our editorial standards.
Details
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HReferences
- cwe.mitre.org/data/definitions/78.html
- kb.cert.org/artifacts/cve-2020-9054.html
- kb.cert.org/vuls/id/498544/
- krebsonsecurity.com/2020/02/zyxel-fixes-0day-in-network-storage-devices/
- www.zyxel.com/support/remote-code-execution-vulnerability-of-NAS-products.shtml
- www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-9054