CISA KEV · catalog date Mar 25, 2022 · first observed Sep 1, 2026
Evidence dossier
CVE-2020-9054
ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
Exploited in the wild (CISA KEV since Mar 25, 2022). NVD reports CVSS 3.1 9.8. EPSS estimates 100.0% exploit likelihood as of Oct 14, 2026.
As of Oct 22, 2026
Normalized restatement
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
- State
- PUBLISHED
- Published
- Mar 4, 2020
- Updated
- Oct 7, 2026
- Evidence coverage
- 85%
Evidence chronology
What was known when
- Source dateFirst observed by CASCACISA KEVOriginal evidence ↗
Exploitation cataloged: Zyxel Multiple NAS Devices OS Command Injection Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Zyxel Multiple NAS Devices OS Command Injection Vulnerability
- Source dateSource date omittedFirst observed by CASCAcertccOriginal evidence ↗
Record text: ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
Inspect raw assertion
- Field
container- Value
- ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
- Source dateSource date omittedFirst observed by CASCACISA-ADPOriginal evidence ↗
Record text: CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
- Source dateSource date omittedFirst observed by CASCACVE ProgramOriginal evidence ↗
Record text: CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
- Source dateFirst observed by CASCAFIRST EPSSOriginal evidence ↗
EPSS score: 99.99% probability · 99.99th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.999880000000; percentile 0.999850000000
FIRST EPSS · score date Oct 14, 2026 · 100th percentile · first observed Oct 15, 2026
NVD · CVSS 3.1 · first observed Oct 8, 2026 · same-version scores align in this snapshot
Evidence detail
Source limits and decisions
Why each evidence state has this value
casca-unknown-reasons-v1The last verified source boundary remains in force for this claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Oct 22, 2026
- Resolution
- Review source contract
Eligible evidence is present for this bounded claim.
- Revision
- evidence-policy-v1.1.0
- Cutoff
- Oct 22, 2026
- Resolution
- None
Eligible evidence is present for this bounded claim.
- Revision
- casca-direct-cvss-eligibility-v1
- Cutoff
- Oct 22, 2026
- Resolution
- None
The cited source assertion is retained while canonical product linkage remains open.
- Revision
- casca-factor-d-obligations-v1
- Cutoff
- Oct 22, 2026
- Resolution
- Resolve identity
Source comparison
Who said what
Zyxel Multiple NAS Devices OS Command Injection Vulnerability
Inspect raw assertion
- Field
observed_exploitation- Value
- Zyxel Multiple NAS Devices OS Command Injection Vulnerability
ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
Inspect raw assertion
- Field
container- Value
- ZyXEL NAS products running firmware version 5.21 and earlier are vulnerable to pre-authentication command injection in weblogin.cgi
CISA ADP Vulnrichment
Inspect raw assertion
- Field
container- Value
- CISA ADP Vulnrichment
CVE Program Container
Inspect raw assertion
- Field
container- Value
- CVE Program Container
99.99% probability · 99.99th percentile
Inspect raw assertion
- Field
model_probability- Value
- Probability 0.999880000000; percentile 0.999850000000
Applicability
Cited product scope
Grouped from 54 configuration nodes in this exact snapshot. Visual grouping is navigational; asset exposure and root cause require cited evidence.
Identity source boundaries
- Cpe dictionary1,775,266 records · observed through 2026-07-21T06:45:29.809Z
27d65b0f-b718-4b4f-bb79-c47c68d09dfa - Cpe match643,502 records · observed through 2026-07-21T08:13:17.697Z
955dae73-7302-438b-aee1-058d7cc5d48e
67 scope groups
Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V5.21(AAZF.7)C0", "versionType": "custom", "lessThanOrEqual": "V5.21(AAZF.7)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V5.21(AASZ.3)C0", "versionType": "custom", "lessThanOrEqual": "V5.21(AASZ.3)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V5.21(AATB.4)C0", "versionType": "custom", "lessThanOrEqual": "V5.21(AATB.4)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V5.21(ABAG.4)C0", "versionType": "custom", "lessThanOrEqual": "V5.21(ABAG.4)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "all"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "all"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "all"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "all"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V4.75(AALH.2)C0", "versionType": "custom", "lessThanOrEqual": "V4.75(AALH.2)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "all"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V4.75(AANV.2)C0", "versionType": "custom", "lessThanOrEqual": "V4.75(AANV.2)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V4.81(AAAJ.1)C0", "versionType": "custom", "lessThanOrEqual": "V4.81(AAAJ.1)C0"}]Canonical linkage remains open; the cited source assertion is retained below.
Inspect raw assertion
[{"status": "affected", "version": "V4.81(AALS.1)C0", "versionType": "custom", "lessThanOrEqual": "V4.81(AALS.1)C0"}]product-1200899350c6986d5c964f597f369618d1abb63616766a4ba3ec511b2ebc27e6Linked exactInspect raw assertion
cpe:2.3:h:zyxel:atp100:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 4 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
7f7654a1-3806-41c7-82d4-46b0cd7ee53b
product-a61d6943c1bad48e17a6899eb15990b4a194af3c4c7456d58636c745ce6c0123Linked exactInspect raw assertion
cpe:2.3:o:zyxel:atp100_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 4 · node/0 · match 0
- Logic
- OR
- Version bounds
- from including 4.35; through excluding 4.35\(abps.3\)c0
- Match ID
1b482f4e-6e1b-45bd-a114-c389e2cd7542
product-204c039ba605ff99a732d4aeb892002d51199a5a7289e8fc9a6195251cd09d02Linked exactInspect raw assertion
cpe:2.3:h:zyxel:atp200:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 5 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
d68a36ff-8caf-401c-9f18-94f3a2405cf4
product-d262d95a9d2b47c5c7875f791f3c6fa9d5d2b48a0a40750bed16cd94cd692f89Linked exactInspect raw assertion
cpe:2.3:o:zyxel:atp200_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 5 · node/0 · match 0
- Logic
- OR
- Version bounds
- from including 4.35; through excluding 4.35\(abfw.3\)c0
- Match ID
0de3ad47-1c82-4b8b-87f4-e545a7dafe5c
product-2aadc23472d0134ca1a46a96d237076a2f79c52ee591e309a631af2c09fe5858Linked exactInspect raw assertion
cpe:2.3:h:zyxel:atp500:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 6 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
2818e8ac-ffee-4df9-bf3f-c75166c0e851
product-51aff2d0b03d80e26b46d437c992b29e60a2d3fc16c8471fd199c9d23383d177Linked exactInspect raw assertion
cpe:2.3:o:zyxel:atp500_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 6 · node/0 · match 0
- Logic
- OR
- Version bounds
- from including 4.35; through excluding 4.35\(abfu.3\)c0
- Match ID
352e7f31-76db-4786-bcc0-e11f43550eb1
product-3d53771a3239415f970ae3ae39ad7aea35c319c755ea6e942a0f4add01901eb2Linked exactInspect raw assertion
cpe:2.3:h:zyxel:atp800:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 7 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
66b99746-0589-46e6-9cbd-f38619ad97dc
product-c0379851b411c8239197abf9661f20e966d7560c151b11c7647d2508bf2f7e92Linked exactInspect raw assertion
cpe:2.3:o:zyxel:atp800_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 7 · node/0 · match 0
- Logic
- OR
- Version bounds
- from including 4.35; through excluding 4.35\(abiq.3\)c0
- Match ID
92e70f0c-d446-47b2-809b-d4680daf13fc
product-bf651576568acdfc3dc579a4c64a0bb9783eea91458acad62e03f3146266c057Linked exactInspect raw assertion
cpe:2.3:h:zyxel:nas326:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 0 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
e0a01b19-4a91-4fbc-8447-2e854346dac5
product-c6d151a93544cac337f2464ac0dcf433ddb4169e8f873baebe945aa6876f626fLinked exactInspect raw assertion
cpe:2.3:o:zyxel:nas326_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 0 · node/0 · match 0
- Logic
- OR
- Version bounds
- through excluding 5.21\(aazf.7\)c0
- Match ID
3fec76ca-9f2c-4a44-93c5-c131e68b9a5e
product-35aa25863059be198d815b4191ddcbecc5c9faebec7d329d13d1a4afec376ca9Linked exactInspect raw assertion
cpe:2.3:h:zyxel:nas520:-:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Environmental constraint
- Configuration
- 1 · node/1 · match 0
- Logic
- OR
- Version bounds
- No explicit bounds
- Match ID
07b2ba3d-40f0-4d59-8838-b226faabf27e
product-f1675b9b0874b48540284abb85b542e61f236452e9a35f7dc23304a5b6c787b3Linked exactInspect raw assertion
cpe:2.3:o:zyxel:nas520_firmware:*:*:*:*:*:*:*:*- Official link
- Linked exact
- Role
- Vulnerable target
- Configuration
- 1 · node/0 · match 0
- Logic
- OR
- Version bounds
- through excluding 5.21\(aasz.3\)c0
- Match ID
09de98e7-ce8e-4f45-9f1e-4a4345fbd443
Affected-product evidence
Accepted scope and product mapping
0 canonical links · 2 source-reported links
Canonical linkage remains open; the cited source assertion is retained below.
Vendor specified only by source · Product specified only by source
- Source class
- Direct cve affected
- Assertions
- 13
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Oct 22, 2026
Retained assertion IDs
08e7a657-34e1-4c4f-abda-d45ddf1c2db00bcd5344-1fcc-4697-a0d0-4138ebcb316b23b73a61-e7be-4d6f-b4e5-c9e6fd85684d4553e39c-c44b-4884-a89d-c930590ca67b7fd921e7-e588-4ead-b4ce-c7df972cd8ae96d076ef-7ea1-43c0-9cd9-3f0d334a9fa9990c04e0-a42e-46e9-8f7a-8dae9c0cf78d9def8cc3-9251-468f-a015-b4139ac08fb7a61eb1e1-e9d7-4fbc-a147-b15bf743d971b6573868-58d9-45c2-bfce-96afa28a55dcbbe87894-df28-457b-990e-2eab866a1f9fe74ea9fd-4e09-4647-a33f-ccfbae3461d1fbc4fcba-928d-4184-ac85-b1fab1c78dccCanonical linkage remains open; the cited source assertion is retained below.
Vendor specified only by source · Product specified only by source
- Source class
- Nvd cpe vulnerable target
- Assertions
- 27
- Mapping revision
- cpe23-exact-mapping-v1
- Observed cutoff
- Oct 22, 2026
Retained assertion IDs
04004d19-326a-476c-b506-d32d93d1938b04dcf8f0-9337-4d85-ba0b-0222a4bd0bc60ac0bafe-3433-4c87-ab9c-661aa83ec9d40d3cc148-a29e-469b-bcb0-e3a80aa9eb8e13668c02-9cf6-4755-bb7c-17c805ef2fc923da688d-a959-4c5d-aef2-217f0fd0aa5a24092f94-6305-4ae3-ac7a-c4ba48e9c06c25d32950-8f5e-4427-be15-5f3e091457dd2a59500c-ae49-411e-8e58-b633a57bf01035249017-6ecb-4588-b65a-799a5ae9c03336c0d061-c342-4a2a-95cd-e3da26c8d68c450a7eab-5433-424e-ba7b-961a7fc5f41f4bdec80e-d2ef-41b3-af85-a7a5918d86604e6f1aaa-f353-46be-ab03-13c6cb3609575f415ee0-3323-48f2-9d81-e217a90cd84a6da6dfa7-c29d-4684-8bb8-cc8dcb75a9f271ba64e8-b9a2-4f7f-888b-408ad0c9b14f8c5a12dd-04de-4322-ba79-3e412942e63f900239da-397f-4e4a-be8a-fe1ccf94c53592d4ca37-bcfa-4760-91dd-2f222cb7b1b6996bd236-885b-4002-83d4-16b75d0f45abb2a5eb11-5c60-4d8d-a5ae-687483deae1bca41ed34-077f-4497-bd3a-898e771c59a7d5762d67-7462-4465-a383-f2f1a34cefecd58fe739-b3a4-4b3b-9ff3-bd23c207408ed6489439-16b0-42f6-8914-9afe42d096f3e29dea81-81fd-45c4-9ebf-b4973311b5ecAssessments
CVSS by origin
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAV:N/AC:L/Au:N/C:C/I:C/A:CCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HDirect CVE/CNA normalized decisions
CISA-ADP
CVSS 3.1 · Secondary · Independent enrichment · rank 2
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Validation
- Valid match
- Recomputed
- 9.8
- Decision reason
- Evidence supported
- Policy
- casca-direct-cvss-eligibility-v1
Assessments are retained side by side under closed precedence. Cascade never averages CVSS.
Evidence boundaries
- KEV membership is authoritative for the catalog, not proof of exposure in any environment.
- EPSS is a dated model probability and not an individual-environment prediction.
- Affected or fixed status applies only to the exact cited product and version scope; remaining scope stays source-scoped.
- NVD-carried upstream facts remain derivative; independent corroboration requires a separately authored source.
- Only NVD metrics validated under the generation-bound calculator are Public Priority eligible; direct CVE record metrics remain display-only.
- NVD CVSS source eligibility is closed: NVD-authored, exact record-source, or registered same-CVE container origin; unmapped sources remain display-only.
- Core replay supports the active and immediately prior generation; retrospective valid-at replay is deferred.
- OSV aggregation and OSV-converted NVD material are not independent corroboration.
- Red Hat facts are vendor assertions for the exact supplied products.
- Nonmembership and not-yet-observed states are not proof of safety.