CVE-2020-9054
Confirmed PUBLISHEDZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
Recommended Action
Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
At a Glance
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 Published
- Mar 04, 2020
- Exploitation Reported
- Mar 25, 2022
- CVSS
- 9.8 Critical
- EPSS
- 100.0%
Affected Versions
| Vendor | Product | Version | Status |
|---|---|---|---|
| ZyXEL |
NAS326
|
V5.21(AAZF.7)C0 to <= V5.21(AAZF.7)C0 |
Affected |
| ZyXEL |
NAS520
|
V5.21(AASZ.3)C0 to <= V5.21(AASZ.3)C0 |
Affected |
| ZyXEL |
NAS540
|
V5.21(AATB.4)C0 to <= V5.21(AATB.4)C0 |
Affected |
| ZyXEL |
NAS542
|
V5.21(ABAG.4)C0 to <= V5.21(ABAG.4)C0 |
Affected |
| ZyXEL |
NSA210
|
all |
Affected |
| ZyXEL |
NSA220
|
all |
Affected |
| ZyXEL |
NSA220+
|
all |
Affected |
| ZyXEL |
NSA221
|
all |
Affected |
| ZyXEL |
NSA310
|
V4.75(AALH.2)C0 to <= V4.75(AALH.2)C0 |
Affected |
| ZyXEL |
NSA320
|
all |
Affected |
| ZyXEL |
NSA320S
|
V4.75(AANV.2)C0 to <= V4.75(AANV.2)C0 |
Affected |
| ZyXEL |
NSA325
|
V4.81(AAAJ.1)C0 to <= V4.81(AAAJ.1)C0 |
Affected |
| ZyXEL |
NSA325v2
|
V4.81(AALS.1)C0 to <= V4.81(AALS.1)C0 |
Affected |
CVE References
- VU#498544 kb.cert.org · Third-Party Advisory https://kb.cert.org/vuls/id/498544/
- cwe.mitre.org/data/definitions/78.html cwe.mitre.org · CVE Record https://cwe.mitre.org/data/definitions/78.html
- zyxel.com/support/remote-code-execution-vulnerability-... zyxel.com · CVE Record https://www.zyxel.com/support/remote-code-execution-vulnerability-of-...
- kb.cert.org/artifacts/cve-2020-9054.html kb.cert.org · CVE Record https://kb.cert.org/artifacts/cve-2020-9054.html
- krebsonsecurity.com/2020/02/zyxel-fixes-0day-in-network-storage-... krebsonsecurity.com · CVE Record https://krebsonsecurity.com/2020/02/zyxel-fixes-0day-in-network-stora...
Recommended Actions
- Prioritize remediation. Validate affected assets and apply vendor fixes on an accelerated timeline.
- Check enrichment artifacts for scanner coverage and available PoCs before rolling remediation validation.
- Use the Pro API to automate enrichment, telemetry, and workflow delivery for VM, SOC, and CTI pipelines.
Known Exploited Vulnerability Sources
Catalogues that list this CVE as a known exploited vulnerability.
Per-source evidence links for KEV attestations are available through the KEVIntel Pro API.
Learn about Pro API access| Source | Added |
|---|---|
| CISA First | 2022-03-25 00:00 UTC |
| The Shadowserver | 2026-06-12 00:00 UTC |
Scanner Artifacts
Nuclei and Metasploit references linked to this CVE.
| Scanner | Reference | Detected |
|---|---|---|
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2020/CVE-2020-9054.yaml | Apr 25, 2025 |
Virtual Patch
Compensating WAF rules to help reduce exposure to this CVE. Rule content and deployable vendor exports are available with KEVIntel Enterprise.
KEVIntel does not currently have a virtual patch for this CVE. When available, KEVIntel virtual patches ship as deployable ModSecurity, Cloudflare, and AWS WAF rules.
Enterprise feature. Virtual patch rule content and deployable vendor exports (ModSecurity, Cloudflare, AWS WAF) are available to KEVIntel Enterprise users.
CVSS Scores
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
AV:N/AC:L/Au:N/C:C/I:C/A:C
Exploitation Status
Exploited in the wild
Recorded 2022-03-25 00:00:00 UTC · CISA
Proof of concept available
Recorded 2021-09-09 16:16:34 UTC · GitHub
Weaknesses (CWE)
-
Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Scanner Integrations
| Scanner | Reference | Detected |
|---|---|---|
| Nuclei | https://github.com/projectdiscovery/nuclei-templates/blob/main/http/cves/2020/CVE-2020-9054.yaml | Apr 25, 2025 |
Potential Proof of Concepts
These PoCs are unverified and could contain malware. Use at your own risk.
github · Created 2021-09-09 16:16:34 UTC · 2 stars
CVE-2020-9054 PoC for Zyxel
nuclei · Created Unknown
Timeline
Key exploitation, disclosure, scanner coverage, and KEV attestation events for this CVE.
-
00:00 UTC about 1 month ago00:00 UTC · about 1 month ago
KEV confirmed by The Shadowserver
Exploitation attested by an external source
-
00:00 UTC about 1 year ago00:00 UTC · about 1 year ago
Nuclei template available
Scanner coverage available
-
00:00 UTC over 4 years ago00:00 UTC · over 4 years ago
Added to CISA KEV
Listed in the CISA Known Exploited Vulnerabilities catalog
-
16:16 UTC almost 5 years ago16:16 UTC · almost 5 years ago
Public PoC available
Public proof-of-concept code published
-
19:30 UTC over 6 years ago19:30 UTC · over 6 years ago
CVE published
Vulnerability disclosed publicly
-
00:00 UTC over 6 years ago00:00 UTC · over 6 years ago
CVE ID reserved
Identifier reserved by the CNA
Automate This Intelligence with the Pro API
Confidence scoring, exploit status, sensor telemetry, PoCs, scanner integrations, mentions, and tags are available programmatically for VM, SOC, and CTI workflows.
Pro API Example
GET /api/v2/pro/kevs/CVE-2020-9054
{
"cve_id": "CVE-2020-9054",
"title": "ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable t...",
"affected_vendor": "ZyXEL",
"affected_product": "NAS326, NAS520, NAS540, NAS542, NSA210, NSA220, NSA220+, NSA221, NSA310, NSA320, NSA320S, NSA325, NSA325v2",
"affected_versions": [
{ "vendor": "...", "product": "...", "status": "affected", "display_label": "..." }
],
"confidence": "Confirmed",
"cvss_score": 9.8,
"epss_score": 0.99988,
"exploit_status": {
"exploited_in_the_wild": true,
"active_exploitation_observed": false
},
"sensor_telemetry": { "...": "Pro API fields" },
"proof_of_concepts": [ "..." ],
"scanner_integrations": [ "..." ]
}