Zyxel GS1900 CVE-2026-7273: 996 Switches Compromised for Data Theft, Patch by Thursday
Reach 50,000+ security professionals
Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.
A Chinese-speaking threat actor has exploited CVE-2026-7273 in Zyxel GS1900 Smart Managed Switches to compromise 996 devices across 48 countries since August 17, 2026, stealing device configurations, network topology maps, and hashed root-level credentials from every compromised switch. CISA added the vulnerability to its Known Exploited Vulnerabilities catalog on September 21 and ordered federal civilian agencies to patch by September 24, a deadline two days from now.
CVE-2026-7273 is a stack-based buffer overflow (CVSS 8.8) in the CGI program that handles Zyxel GS1900 web management requests. The flaw affects firmware versions 2.90(XXXX.1)C0 and earlier across all ten GS1900 models. When an attacker on the local area network sends a crafted HTTP POST request to the switch management interface, the CGI program writes attacker-controlled data into a fixed-size stack buffer without validating the input length. The overflow corrupts adjacent stack memory, overwrites the function return address, and redirects execution to attacker-supplied OS commands running as root.
The threat actor automated the attack using a Python script obfuscated by the commercial PyArmor tool, making the exploit harder to detect or reverse-engineer. The patch was available from Zyxel since June 16, 2026, but 996 organizations worldwide had not applied it by August when exploitation began. Of those, 564 switches also ran factory default credentials, giving the attacker a second access path. If your organization uses any Zyxel GS1900 switch, apply the 2.90(XXXX.2)C0 firmware, rotate management credentials, and check for evidence of configuration exfiltration before Thursday's federal deadline.
How Does the CVE-2026-7273 Buffer Overflow Work?
The Zyxel GS1900 web management interface runs a CGI program on port 80 (HTTP) and port 443 (HTTPS) to handle administrative requests. CVE-2026-7273 is triggered when the CGI program receives an HTTP POST request containing field values that exceed the size of the receiving stack buffer. The program copies the attacker's input without checking the input length, overwriting the saved return address on the stack. When the CGI function returns, execution jumps to the attacker's payload rather than to the legitimate caller.
The attack requires no credentials. Any host on the local area network that can reach the switch management interface can send the exploit request. The CGI program runs with root privileges, so successful exploitation gives the attacker full OS-level control of the switch: read access to the running configuration, the ability to modify routing tables, VLAN assignments, and ACLs, and the ability to read hashed passwords for all management accounts.
The confirmed exploit delivery mechanism is a Python script protected by PyArmor, a commercial Python code obfuscation tool. PyArmor wraps the Python bytecode in a proprietary runtime that makes static analysis difficult without reverse engineering the obfuscation layer. The script automates the exploit, exfiltrates switch configuration data, network topology information, and hashed root credentials over an outbound connection to attacker-controlled infrastructure, and then exits cleanly to minimize the detection window.
The attack does not require any user interaction on the switch. The exploited interface is the web management CGI, not an administrative session. A switch left on its factory configuration with the management VLAN accessible from user network segments has zero defense against this attack without the firmware patch.
See also: the MikroTik RouterOS CVE-2026-67276 SSH authentication bypass for a parallel case of unauthenticated access to network device management planes enabling downstream credential theft.
Attacker maps LAN for switch management interfaces
Attacker scans the local network on port 80 and 443, identifying Zyxel GS1900 switches by HTTP response banners or Nmap service fingerprints. Switch management interfaces without VLAN isolation are reachable from any host on the same broadcast domain.
PyArmor Python script delivers CGI buffer overflow payload
Attacker executes a PyArmor-obfuscated Python script that sends a crafted HTTP POST request to the switch management CGI endpoint. The POST body contains an oversized field value that overflows the fixed-size stack buffer in the CGI program.
Stack return address overwritten, root command execution achieved
The buffer overflow corrupts the CGI program's stack frame, overwriting the saved return address with a pointer to the attacker's shellcode or command payload. When the CGI function returns, the switch executes arbitrary OS commands as root.
Device configuration and credentials exfiltrated
Attacker reads the switch running configuration, network topology data, and hashed root-level management credentials from the compromised switch file system. An outbound connection from the switch management IP transfers the data to attacker infrastructure.
Script exits; compromise goes undetected
The PyArmor script exits cleanly after data exfiltration. No persistent backdoor is installed on the switch, reducing the detection footprint. The attacker now holds switch credentials and full network topology for the compromised site.
Which GS1900 Models Are Affected and What Was Stolen?
All ten Zyxel GS1900 models are vulnerable if running firmware version 2.90(XXXX.1)C0 or earlier. The affected models are the GS1900-8, GS1900-8HP, GS1900-10HP, GS1900-16, GS1900-24, GS1900-24E, GS1900-24EP, GS1900-24HPv2, GS1900-48, and GS1900-48HPv2. Each model's vulnerable firmware version uses a model-specific code in the (XXXX) field, all sharing the same buffer overflow flaw in the CGI component.
The GS1900 series is marketed toward small to mid-size organizations: offices, schools, hotels, and retail environments. These are not perimeter appliances. They sit at the access layer of the internal network, handling user device connectivity. That deployment context is the reason 564 of the 996 compromised switches had factory default credentials: organizations treat these switches as infrastructure, not as security-sensitive systems requiring active credential management.
The attacker exfiltrated three categories of data from each compromised switch. Device configuration data exposes the complete network design: VLAN assignments, port configurations, spanning tree topology, link aggregation groups, and access control lists. Network information maps the broader topology: neighboring devices, management IP schemes, and routing relationships. Hashed root-level credentials give the attacker persistent access material that can be cracked offline for reuse in subsequent attacks.
Geographic distribution of confirmed victims spans 48 countries, with the highest concentrations in Italy, the United States, Taiwan, South Korea, and multiple EU member states. The campaign started August 17, 2026, approximately two months after Zyxel released the patch on June 16. Every device compromised in this campaign was running a version of the firmware that had a publicly available, vendor-supplied fix for more than 60 days before exploitation began.
Briefings like this, every morning before 9am.
Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.
Chinese Threat Actor Profile and Campaign Attribution
GreyNoise Intelligence attributed the CVE-2026-7273 exploitation campaign to a Chinese-speaking threat actor with a documented pattern of mass-scanning campaigns against network device management interfaces. The same group has previously targeted WordPress sites exploiting CVE-2026-63030 and CVE-2026-60137, and Gitea repository servers exploiting CVE-2026-60004. The use of PyArmor for exploit obfuscation is consistent across all three campaigns, providing a behavioral fingerprint for attribution.
The attacker's operational pattern prioritizes scale over stealth during the initial data collection phase. The PyArmor Python script automates the entire exploit, exfiltration, and exit cycle to maximize the number of devices that can be hit in a short campaign window. The data collected (device configurations, network maps, and hashed credentials) is consistent with intelligence-gathering objectives: mapping target organization network infrastructure as a precursor to more targeted access operations, or selling network topology data and management credentials to other threat actors.
The 564 switches with factory default credentials represent a secondary access vector independent of the buffer overflow. Even if the CVE-2026-7273 exploit had not been used, those devices were accessible through direct authentication with factory defaults. The campaign likely used the buffer overflow for devices with changed credentials, and direct credential authentication for the remaining 564 devices, maximizing compromise coverage across the unpatched device population.
GreyNoise retained one attacker IP address from public disclosure "due to victim sensitivities and operational risk," with a commitment to release it once those concerns are resolved. The redacted IP represents the primary command and control infrastructure observed during the active exfiltration phase. A second IP associated with initial exploitation probing was made available in the GreyNoise IOC feed.
See also: Cisco ISE CVE-2026-76460 authentication bypass for the pattern of Chinese and other state-linked actors prioritizing network authentication infrastructure as data theft and pivot targets.
“One IP address involved in the exploitation remains redacted due to victim sensitivities and operational risk. We will publish an update once these factors have been mitigated.”
GreyNoise Intelligence, CVE-2026-7273 Campaign Disclosure, September 2026
Indicators of Compromise for CVE-2026-7273
No real-time network IOCs (specific C2 IP addresses or domain names) have been publicly released for the CVE-2026-7273 campaign as of September 22, 2026. GreyNoise has confirmed one attacker IP but withheld it pending victim notification. Check the GreyNoise CVE-2026-7273 tag for current attacker IPs as they are released.
The indicators below are behavioral and structural, derived from the confirmed attack mechanics. Deploy them proactively in your network monitoring and EDR stack while applying the firmware patch.
The highest-confidence indicator of active exploitation is an unexpected outbound network connection originating from a Zyxel GS1900 switch management IP to an external destination. Under normal operating conditions, GS1900 switches initiate no outbound connections to external IPs. Any outbound connection from a switch management IP to port 80, 443, 22, or 21 on an external address should be treated as a strong indicator of compromise.
On the attacker's workstation (the machine running the PyArmor exploit script), process creation events for Python with command line arguments containing "pytransform" or "_pytransform" are a behavioral indicator of PyArmor-protected exploit execution. Endpoint detection platforms monitoring process creation will capture this artifact when the exploit script runs from an internal host.
To check whether a GS1900 switch has been compromised: log in to the management interface, navigate to the system log, and look for unexpected configuration read operations, outbound connection attempts, or authentication events outside normal administrative windows. Compare the running configuration against your baseline to identify unauthorized changes to VLAN assignments, ACLs, or management credentials.
Subscribe to unlock Indicators of Compromise
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Sigma Detection Rules for CVE-2026-7273
These rules detect CVE-2026-7273 exploitation activity across the two most observable stages: the exploit delivery (CGI HTTP POST from an internal host) and the exploit execution on attacker workstations (PyArmor Python runtime). Both carry experimental status; validate against your environment's log sources before deploying automatic blocking.
Subscribe to unlock Sigma Detection Rules
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Subscribe to unlock Sigma Hunt Queries
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Subscribe to unlock WAF Detection Rules
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
Remediation: Apply GS1900 Firmware Before September 24
Every affected GS1900 model has a patched firmware available. The fix corrects the boundary validation failure in the CGI program's input handling routine. Apply the update for your specific model: the (XXXX) segment of the firmware version string is model-specific, but all patched versions increment to 2.90(XXXX.2)C0 from the vulnerable 2.90(XXXX.1)C0. After patching, change all management credentials to ensure that any hashed credentials exfiltrated during the campaign cannot be used for re-entry.
Subscribe to unlock Remediation & Mitigation steps
Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.
The bottom line
Zyxel GS1900 CVE-2026-7273 lets any attacker on your local network run OS-level commands on GS1900 switches and steal device configurations, network topology maps, and hashed root credentials without authenticating. A Chinese-speaking threat actor has already compromised 996 switches in 48 countries using a PyArmor-obfuscated Python script since August 17. The firmware fix has been available since June. Log into each GS1900 switch, upgrade to the 2.90(XXXX.2)C0 firmware for your specific model, change all management passwords, and restrict management VLAN access before CISA's federal deadline expires on September 24.
This analysis is generic. create a free account to score threats like this against your own stack.
Frequently asked questions
What is CVE-2026-7273 and how does it affect Zyxel GS1900 switches?
CVE-2026-7273 is a stack-based buffer overflow vulnerability (CVSS 8.8) in the CGI program that handles web management requests on Zyxel GS1900 series Smart Managed Switches. An attacker on the local network sends an oversized HTTP POST request to the switch management interface. The CGI program fails to validate input length before writing to a stack buffer, overflowing adjacent memory and enabling arbitrary OS command execution with root privileges. No authentication is required.
Can an attacker exploit CVE-2026-7273 from the internet?
CVE-2026-7273 requires local network access to the switch management interface. The CVSS attack vector is 'Adjacent Network,' meaning the attacker must be on the same LAN segment or VLAN as the switch management interface. An attacker cannot directly exploit this vulnerability from the internet unless the switch's web management port (80 or 443) is exposed to the internet, which is a severe misconfiguration that no Zyxel GS1900 deployment guide recommends.
Which Zyxel GS1900 models are affected by the buffer overflow?
All ten GS1900 models running firmware 2.90(XXXX.1)C0 or earlier are affected: GS1900-8, GS1900-8HP, GS1900-10HP, GS1900-16, GS1900-24, GS1900-24E, GS1900-24EP, GS1900-24HPv2, GS1900-48, and GS1900-48HPv2. Each model's firmware string uses a unique model code in the (XXXX) position. The patched firmware for all models is version 2.90(XXXX.2)C0, available since June 16, 2026.
What data was stolen from Zyxel GS1900 switches in this campaign?
The Chinese-speaking threat actor exfiltrated three categories of data from each compromised switch: device configuration data (VLAN assignments, port configs, ACLs, spanning tree settings), network topology information (neighboring device details, management IP scheme, routing relationships), and hashed root-level management credentials. Of the 996 compromised devices, 564 also had factory default credentials, giving the attacker direct authenticated access as a secondary path.
How do I detect if my Zyxel GS1900 switch has been compromised?
Log into the switch management interface and review system logs for unexpected configuration read operations, outbound connection attempts, or authentication activity outside normal administrative windows. Compare the current running configuration to your baseline for unauthorized changes to VLANs, ACLs, or credentials. At the network level, alert on any outbound connection from a switch management IP to an external address, as this is abnormal behavior and a strong post-exploitation indicator.
What is the CISA deadline for patching CVE-2026-7273?
CISA added CVE-2026-7273 to its Known Exploited Vulnerabilities catalog on September 21, 2026, and set a federal civilian agency deadline of September 24, 2026, under Binding Operational Directive 26-04. That deadline is this Thursday. Federal agencies that cannot patch before the deadline must remove affected GS1900 switches from service. Non-federal organizations are strongly encouraged to treat this as same-week remediation given confirmed active exploitation.
What is the patched firmware version for Zyxel GS1900 switches?
The patched firmware version for all GS1900 models is 2.90(XXXX.2)C0, where (XXXX) is the model-specific code. For example: GS1900-48HPv2 patches to 2.90(ABTQ.2)C0, GS1900-24HPv2 to 2.90(ABTP.2)C0, and GS1900-8 to 2.90(AAHH.2)C0. Download your model's specific firmware from the Zyxel GS1900 security advisory page, which lists all ten model-specific patched versions.
Why did 564 victims have default credentials on their Zyxel switches?
GS1900 switches are commonly deployed in small offices, schools, hotels, and retail environments where network infrastructure is treated as a low-security appliance rather than a security-sensitive device requiring credential management. Default credentials provide the path of least resistance during initial deployment and are rarely changed afterward. The 564 switches with default credentials were accessible through direct authentication even without exploiting the buffer overflow, illustrating that CVE-2026-7273 is a compound risk when combined with weak credential hygiene.
Sources & references
- Help Net Security: Attacker compromised nearly 1000 Zyxel switches since August (CVE-2026-7273)
- Zyxel Security Advisory: Stack-Based Buffer Overflow in GS1900 Series Switches
- CISA: CVE-2026-7273 Added to Known Exploited Vulnerabilities Catalog
- BleepingComputer: CISA orders feds to patch Zyxel flaw exploited for data theft
Free resources
Critical CVE Reference Card 2025–2026
25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.
Ransomware Incident Response Playbook
Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.
Daily briefings + Google Top Stories in one step.
Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Founder & Cybersecurity Evangelist, Decryption Digest
Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.
