CVE-2020-9054 is a pre-authentication OS command injection vulnerability in the weblogin.cgi component used by multiple Zyxel NAS devices, and later also identified in certain Zyxel firewall products. The flaw stems from improper sanitization of externally supplied input in the username parameter during the authentication process. By sending a crafted HTTP GET or POST request to weblogin.cgi, a remote attacker can inject and execute arbitrary operating system commands before authentication. On affected NAS devices, the injected commands initially execute with the privileges of the web server process, but the presence of a setuid utility on the device allows escalation to root, so successful exploitation should be treated as unauthenticated remote code execution with root privileges. Affected NAS products include NAS326, NAS520, NAS540, and NAS542 before the vendor-fixed firmware releases, as well as unsupported legacy NSA-series models that no longer receive updates. Zyxel also reported impact to certain UTM, ATP, and VPN firewall products running vulnerable ZLD V4.35 patch levels.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository contains a proof-of-concept (PoC) exploit for CVE-2020-9054. The main file, 'zyfuq.py', is a Python script that attempts to exploit a command injection vulnerability in a web login CGI script. The exploit works by sending a crafted POST request to the endpoint '/,adv/cgi-bin/weblogin.cgi' on a user-supplied target URL, injecting a shell command via the 'username' parameter. The script disables SSL warnings and expects the user to provide the target URL as a command-line argument. The default command executed is 'ls', but the code is structured to allow arbitrary commands. The repository also contains a README.md that notes the exploit is incomplete, but the provided code demonstrates the core injection technique. No hardcoded IPs or domains are present, but the endpoint path is fingerprintable. The exploit is a network-based PoC and does not include a weaponized or fully automated payload.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
9 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A remote code execution vulnerability in Zyxel NAS and firewall products' weblogin.cgi program caused by missing authentication, allowing OS command injection.
A command injection vulnerability in weblogin.cgi affecting multiple Zyxel NAS products, allowing unauthenticated OS command execution.
A security vulnerability exploited by Mirai botnet variants to compromise devices and expand botnet reach.
A vulnerability affecting Zyxel NAS devices, mentioned as a low-volume co-located service observed alongside 7777-Botnet infections (suggesting a possible but unconfirmed infection vector).
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.