CVE-2026-109109
Executive Summary
CVE-2026-109109 is a pre-authentication stack-based buffer overflow in the /cgi-bin/ExportAllSettings.cgi endpoint of Wavlink WL-WN530BE1-A firmware version 251117, triggered via the HTTP_COOKIE/X-Cmd arguments passed to an internal strcpy call. With a CVSS 3.1 base score of 10.0 (AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H) and a public exploit already available, any internet-exposed device running the affected firmware is at critical risk. Successful exploitation can yield full device compromise, enabling network traffic manipulation, credential theft, and use of the device as a persistent pivot point into the internal network.
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
Technical Analysis
The vulnerability resides in the Settings Export CGI component of the Wavlink WL-WN530BE1-A. The NVD description states that the affected function is strcpy within the file /cgi-bin/ExportAllSettings.cgi, and that manipulating the HTTP_COOKIE and/or X-Cmd arguments results in a stack-based buffer overflow (CWE-119 — Improper Restriction of Operations within the Bounds of a Memory Buffer).
The root cause class is a classic unbounded string copy: strcpy copies data from a source buffer into a fixed-size stack-allocated destination buffer without validating the length of the input. Because the source is derived from HTTP request headers (HTTP_COOKIE) or a custom header/parameter (X-Cmd), attacker-controlled data of arbitrary length can overwrite adjacent stack memory, including the saved return address and/or other control data. This class of flaw is well understood and routinely exploited to achieve remote code execution when mitigations such as stack canaries, ASLR, and non-executable stacks are absent or weak — as is common in embedded router firmware.
Attack surface: the CGI endpoint is reachable over the device's web management interface. The parameters of interest are transmitted as HTTP request headers, meaning no authentication token may be required (consistent with the CVSS PR:N rating). The scope change (S:C) reflects that compromise of the device can impact resources beyond the vulnerable component — for example, the downstream network it routes.
No public proof-of-concept source code was provided in the dataset supplied; the NVD description nonetheless states "The exploit is now public and may be used," so the exploit is considered available in the wild even though no code was furnished here. No specific overflow offset, ROP chain, or shellcode details are described in the source material; those are not asserted here.
Exploitation Scenarios
The following chain is derived strictly from the vulnerability class and the parameters named in the NVD description. No PoC code was provided in the source data; any implementation-level specifics beyond strcpy, /cgi-bin/ExportAllSettings.cgi, HTTP_COOKIE, and X-Cmd would be speculative and are therefore omitted.
Reconnaissance / target identification. An attacker identifies Wavlink WL-WN530BE1-A devices exposed to the internet. This is achievable by scanning for the device's management interface and its characteristic CGI paths (e.g.,
/cgi-bin/ExportAllSettings.cgi) or via Shodan-style product/title fingerprinting. Devices with the default or reachable web UI are prime candidates.Triggering the flaw. The attacker sends an HTTP request to
/cgi-bin/ExportAllSettings.cgiwhile supplying an oversized value in theHTTP_COOKIEheader and/or theX-Cmdargument. Because the CGI passes these attacker-controlled values tostrcpywithout a length check, the copy overruns a stack buffer.Payload / execution (class level). The overflow corrupts adjacent stack memory. In the general buffer-overflow attack pattern, the oversized input is crafted so that the overwritten region redirects execution flow (for example, by overwriting a saved return address) toward attacker-influenced data. The NVD entry does not disclose the exact offset, architecture, or target register, so no specific exploitation primitive (e.g., a named ROP gadget or shellcode layout) can be asserted. If the firmware lacks stack canaries/ASLR, reliable remote code execution is feasible.
Post-exploitation impact. Given CVSS C:H/I:H/A:H and S:C, successful exploitation can result in full control of the device — arbitrary code execution with the privileges of the CGI process, typically root or a highly privileged account on embedded systems. This enables persistent configuration tampering, interception or redirection of network traffic, credential capture, and use of the router as a foothold for lateral movement into the connected LAN.
Impact Assessment
- Confidentiality (C:H): Full read access to device configuration, stored credentials, and potentially all traffic transiting the device.
- Integrity (I:H): Ability to alter firmware configuration, routing, DNS, and executed code.
- Availability (A:H): Device can be crashed, bricked, or held in a manipulated state.
- Scope (S:C): A compromise of the router impacts the broader network it serves — a scope change that significantly elevates the score.
- Exploitability: AV:N, AC:L, PR:N, UI:N — network-reachable, no privileges, no user interaction. This is the most exploitable profile possible.
- Blast radius: Every internet-exposed Wavlink WL-WN530BE1-A running firmware 251117. Devices used as primary gateways put all downstream hosts at risk. Public exploit availability plus a base score of 10.0 makes this a top-priority remediation target.
Detection Guidance
Sigma Rule
title: Potential Wavlink WL-WN530BE1-A Settings Export Buffer Overflow Attempt
id: 8b6f2a41-2f0e-4c2d-9a7e-1c3d5e7f9b21
status: experimental
description: Detects HTTP requests to the vulnerable Wavlink ExportAllSettings.cgi endpoint with abnormally long Cookie or X-Cmd header values consistent with a stack buffer overflow attempt.
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
detection:
selection_endpoint:
cs-uri-stem|endswith: '/cgi-bin/ExportAllSettings.cgi'
selection_headers:
- cs(Cookie)|contains: 'X-Cmd'
- cs(X-Cmd)|exists: true
selection_length:
cs(Cookie)|re: '.{512,}'
condition: selection_endpoint and (selection_headers and selection_length)
falsepositives:
- Legitimate large cookie values (unlikely for this embedded UI)
level: high
tags:
- attack.t1190
- cve.2026.109109
YARA Rule
rule CVE_2026_109109_Wavlink_ExportAllSettings_Overflow
{
meta:
author = "valtersit.com"
description = "Detects suspicious long Cookie/X-Cmd header values targeting the Wavlink ExportAllSettings CGI"
reference = "CVE-2026-109109"
date = "2026-01-01"
strings:
$cgi = "/cgi-bin/ExportAllSettings.cgi"
$hdr1 = "X-Cmd:"
$hdr2 = "Cookie:"
$pad_a = "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
$pad_b = "cccccccccccccccccccccccccccccccc"
condition:
$cgi and (($hdr1 or $hdr2) and (@$hdr1 > 0 or @$hdr2 > 0)) and
(($pad_a and $pad_b) or filesize > 4096)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-109109 Wavlink WL-WN530BE1-A ExportAllSettings Stack Buffer Overflow Attempt"; flow:established,to_server; http.uri; content:"/cgi-bin/ExportAllSettings.cgi"; http.header; content:"X-Cmd:"; http.header; content:"Cookie:"; pcre:"/(Cookie|X-Cmd):[^\r\n]{512,}/Hi"; reference:cve,2026-109109; classtype:attempted-admin; sid:2026109109; rev:1;)
Elastic Detection
network where
http.request.method == "GET" or http.request.method == "POST"
and stringContains(http.request.uri, "/cgi-bin/ExportAllSettings.cgi")
and (
stringContains(http.request.headers, "X-Cmd:") or
stringContains(http.request.headers, "Cookie:")
)
and length(http.request.headers) > 2048
Splunk SPL Query
index=web sourcetype=access_combined
| where like(uri_path, "/cgi-bin/ExportAllSettings.cgi%")
| eval cookie_len = len(cookie)
| where cookie_len > 512 OR match(_raw, "X-Cmd:") OR cookie_len > 512
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, uri_path
| where count > 0
| table src_ip, uri_path, first_seen, last_seen, count
Wazuh OSSEC Rule
<group name="web,attack,cve-2026-109109,">
<rule id="2026109" level="12">
<if_sid>31100</if_sid>
<match>/cgi-bin/ExportAllSettings.cgi</match>
<regex>Cookie:\s*\S{512,}|X-Cmd:\s*\S{64,}</regex>
<description>CVE-2026-109109: Possible Wavlink WL-WN530BE1-A ExportAllSettings stack buffer overflow attempt</description>
<mitre>
<id>T1190</id>
</mitre>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations. Because no vendor fix exists, exposure reduction is the priority:
- Isolate the device: block external access to the web management interface at the perimeter firewall; never expose
/cgi-bin/ExportAllSettings.cgito the internet. - Restrict management to a trusted VLAN and enforce strong, unique administrative credentials; disable remote/WAN administration.
- Where possible, apply IP allowlisting and reverse-proxy/WAF rules that reject requests to the vulnerable CGI path or that block requests carrying oversized
Cookie/X-Cmdheaders. - Consider decommissioning or replacing the device if it cannot be isolated and no patch becomes available.
- Isolate the device: block external access to the web management interface at the perimeter firewall; never expose
Patch / upgrade steps. No official firmware update is available as of this writing. Track the vendor for a fixed release for the WL-WN530BE1-A; when issued, verify the firmware version exceeds the vulnerable build 251117 and apply it. Do not assume that a later build is fixed without vendor confirmation.
Long-term hardening.
- Enforce secure-by-default router management: no WAN-side admin, no default credentials, RBAC, and firmware integrity verification.
- Monitor manufacturer advisories and subscribe to CVE feeds for the Wavlink product line.
- Segment IoT/network edge devices into isolated VLANs to limit lateral movement if the device is compromised.
- Add the Sigma/YARA/Suricata/Splunk/Wazuh detections above to the SOC toolchain and alert on hits.
References
- NVD — CVE-2026-109109 (https://nvd.nist.gov/vuln/detail/CVE-2026-109109)
- CWE-119 — Improper Restriction of Operations within the Bounds of a Memory Buffer (https://cwe.mitre.org/data/definitions/119.html)
- MITRE ATT&CK T1190 — Exploit Public-Facing Application (https://attack.mitre.org/techniques/T1190/)
- Wavlink product security/advisory portal (https://www.wavlink.com/) — check for a firmware advisory covering WL-WN530BE1-A; no patch published at time of writing.
- CISA Known Exploited Vulnerabilities catalog (https://www.cisa.gov/known-exploited-vulnerabilities-catalog) — CVE-2026-109109 is NOT currently listed (CISA KEV: NO); monitor for future addition given public exploit availability.
Note: No threat-actor campaign attribution or documented in-the-wild exploitation is provided in the source data. The exploit is described as public; EPSS is not yet scored by FIRST.org.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.