CVE-2026-7273
Executive Summary
CVE-2026-7273 is a critical stack-based buffer overflow vulnerability in the CGI program of Zyxel GS1900-48HPv2 switches running firmware versions up to 2.90(ABTQ.1)C0. An unauthenticated attacker on the same LAN can exploit this flaw via a crafted HTTP request to execute arbitrary OS commands. The vulnerability has a CVSS score of 8.8 (High) and currently has no known public exploit code or patch. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains high due to the potential for full device compromise.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects embedded firmware on Zyxel networking hardware.
CVSS Breakdown & Threat Level
- Attack Vector (AV): Adjacent Network (AV:A) – attacker must be on the same LAN.
- Attack Complexity (AC): Low (AC:L) – no special conditions required.
- Privileges Required (PR): None (PR:N) – unauthenticated.
- User Interaction (UI): None (UI:N) – no user action needed.
- Scope (S): Unchanged (S:U) – exploitation stays within the device.
- Confidentiality (C): High (C:H) – full OS command execution.
- Integrity (I): High (I:H) – attacker can modify system files.
- Availability (A): High (A:H) – can cause denial of service or full compromise.
Threat Level: High. The lack of authentication and low complexity make this a prime target for LAN-based attacks, especially in enterprise environments where these switches are deployed.
Deep Dive & Mechanics
The vulnerability resides in the CGI binary handling HTTP requests. A stack-based buffer overflow occurs when the CGI program copies user-supplied input (e.g., query string parameters or POST data) into a fixed-size stack buffer without proper bounds checking. By sending a crafted HTTP request with an overly long parameter, an attacker can overwrite the return address on the stack, redirecting execution to attacker-controlled shellcode. Since the device runs a Linux-based OS, successful exploitation allows arbitrary OS command execution with root privileges.
The attack surface is limited to the LAN, but once inside the network, an attacker can pivot to other devices. The firmware is based on a MIPS architecture, so shellcode must be MIPS-compatible.
Vulnerable vs. Patched Code
Vulnerable Code (CGI binary, pseudo-code):
void handle_request(char *input) {
char buffer[256];
strcpy(buffer, input); // No bounds check
// ... process buffer
}
Patched Code (hypothetical fix):
void handle_request(char *input) {
char buffer[256];
strncpy(buffer, input, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... process buffer
}
The vulnerable code uses strcpy which does not limit the copy length, leading to overflow. The patched version uses strncpy with proper size limits.
Exploitation & Lab Setup
Red Team
Lab Environment:
- Zyxel GS1900-48HPv2 with firmware 2.90(ABTQ.1)C0
- Attacker machine on same LAN (e.g., Kali Linux)
- Network access to the switch's management interface (default HTTP port 80)
Exploitation Steps:
- Identify the target switch IP (e.g., via ARP scan).
- Craft a malicious HTTP request with a long parameter to trigger the overflow.
- Use a MIPS shellcode payload (e.g., reverse shell) to gain remote access.
Example HTTP Request (conceptual):
POST /cgi-bin/command.cgi HTTP/1.1
Host: 192.168.1.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 500
param=AAAA...AAAA[shellcode][return_address]
Note: No public exploit code is available. The above is a conceptual example.
Blue Team
Detection & Response:
- Monitor for abnormally long HTTP requests to the switch's management interface.
- Enable logging on the switch and forward logs to a SIEM.
- Restrict management access to trusted IPs only (e.g., via ACLs).
- Segment the network to limit LAN-based attacks.
Honeypot Strategy:
- Deploy a fake Zyxel switch on the network to capture attack patterns.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP requests with URI length > 1024 bytes to the switch's CGI endpoint.
- Unusual outbound connections from the switch to external IPs (e.g., reverse shell).
- Repeated failed login attempts followed by a successful exploit.
Host IOCs:
- Unexpected processes running on the switch (e.g.,
/tmp/shell). - Modified system binaries or configuration files.
- Presence of shellcode in memory (detectable via forensic analysis).
- Unexpected processes running on the switch (e.g.,
File IOCs:
- Suspicious files in
/tmp/or/var/run/on the switch.
- Suspicious files in
Detection Engineering
YARA Rule
rule CVE_2026_7273_Exploit {
meta:
description = "Detects HTTP requests targeting Zyxel GS1900-48HPv2 CGI buffer overflow"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2026-7273"
strings:
$cgi_path = "/cgi-bin/command.cgi" nocase
$long_param = /param=[A-Za-z0-9%]{256,}/
condition:
$cgi_path and #long_param > 0
}
Sigma Rule
title: Zyxel GS1900-48HPv2 CGI Buffer Overflow Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with overly long parameters to Zyxel switch CGI
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains: "/cgi-bin/command.cgi"
cs-uri-query|length: >= 1024
condition: selection
falsepositives:
- Legitimate long configuration requests (rare)
level: high
Suricata Rule
alert http $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (
msg:"CVE-2026-7273 - Zyxel GS1900-48HPv2 CGI Buffer Overflow Attempt";
flow:to_server,established;
content:"/cgi-bin/command.cgi"; http_uri;
pcre:"/param=[A-Za-z0-9%]{256,}/Ri";
classtype:attempted-admin;
sid:1000001;
rev:1;
)
Remediation & Mitigation
Immediate Actions:
- Isolate affected devices: Place the switch on a separate VLAN with strict ACLs.
- Disable remote management: If not required, disable HTTP/HTTPS management interfaces.
- Monitor logs: Enable detailed logging and monitor for suspicious HTTP requests.
Long-term Fix:
- Await an official firmware patch from Zyxel. Until then, consider replacing the device if it is exposed to untrusted LAN segments.
- Implement network segmentation to limit LAN-based attack surface.
Workaround:
- Use SSH instead of HTTP for management if supported.
- Apply rate limiting on the management interface.
Valters IT
DevSecOps & Cyber Threat Intelligence Expert
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.