CVE-2020-29583
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedFirmware version 4.60 of Zyxel USG devices contains an undocumented account (zyfwp) with an unchangeable password. The password for this account can be found in cleartext in the firmware. This account can be used by someone to login to the ssh server or web interface with admin privileges.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceZyxel USG devices running firmware version 4.60 contain a hardcoded undocumented administrator account (zyfwp) with a static, unchangeable password stored in cleartext within the firmware image. This backdoor account provides full administrative privileges via SSH or the web interface, allowing unauthenticated attackers to gain complete control of the affected device.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data= 4.60= 4.60= 4.60= 4.60= 4.60= 4.60= 4.60= 4.60CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify device model and firmware versionAccess the device CLI via console or SSH and run 'show system-info' or 'sysinfo' command, or log into the web management interface and check the Status or System Info page for the exact model name and firmware version.Affected if The device is one of the following models (USG20, USG20w, USG40, USG40w, USG60, USG60w, USG110, USG210) AND the firmware version is exactly 4.60.
-
Verify the hidden zyfwp account existsIn the device CLI, run 'show running-config' or 'show admin-user' to list all configured administrator accounts. Look for an account named 'zyfwp' in the output.Affected if The account 'zyfwp' is present in the administrator user list.
-
Confirm the zyfwp account has full admin privilegesIn the CLI, run 'show admin-user' or check the user group assignments for the zyfwp account. The account should be mapped to the 'admin' or 'God' privilege level indicating full administrative access.Affected if The zyfwp account is assigned admin-level privileges (admin group or highest privilege level).
-
Determine if SSH or web management is network-accessibleFrom an external host, attempt to reach the device on TCP port 22 (SSH) or TCP ports 80/443 (HTTP/HTTPS). Use 'nmap -p 22,80,443 <device-ip>' or similar port scanning tool to test accessibility.Affected if The SSH (port 22) or web management (ports 80/443) interface is reachable from an untrusted network or the internet.
You are affected if you have a Zyxel USG device (USG20/20w/40/40w/60/60w/110/210) running firmware version 4.60 AND the hidden zyfwp administrative account exists on the device AND the management interfaces are accessible from a network where untrusted parties could attempt authentication.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scopedApply vendor firmware updates that address CVE-2020-29583 to remove the undocumented zyfwp account. Restrict network access to device management interfaces (SSH/web) to trusted networks or VPN until patching is complete.
Latest firmware version available from Zyxel for your specific USG model (version > 4.60)
- 1. Identify your exact USG model number (Usg20, Usg20w, Usg40, Usg40w, Usg60, Usg60w, Usg110, or Usg210)
- 2. Access the Zyxel support website (www.zyxel.com or ftp.zyxel.com) and navigate to the firmware download section for your specific model
- 3. Download the latest available firmware version for your device (version higher than 4.60)
- 4. Review the firmware release notes to confirm the security vulnerability CVE-2020-29583 is addressed
- 5. Back up your current device configuration
- 6. Upload and install the new firmware via the web interface or CLI
- 7. After upgrade, verify the undocumented zyfwp account no longer exists or has been removed
- 8. Change all admin passwords as a precaution
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation4.0 h
- Implementation6.0 h
- Testing4.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $4,544.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2020-29583 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2020-29583 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data