Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify GL-MT3000 with WireGuard server enabled
-
DeliverySend crafted HTTP request to /cgi-bin/glc
-
ExploitInject shell commands via public_key argument
-
Executionserver.set_peer passes unsanitized input to OS
-
PersistExecute arbitrary commands as root
-
ImpactFull device compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The WireGuard server plugin (wg-server.so) must be active on the device, meaning the WireGuard server mode feature must be enabled in the GL-iNet firmware configuration - this is not guaranteed to be the default state and should be verified per deployment. The /cgi-bin/glc CGI endpoint must be reachable from the attacker's network position; the CVSS 4.0 vector (AV:N/PR:N/UI:N) indicates no authentication is required and no special attack prerequisites apply beyond network reachability. Exploitation is limited to GL-MT3000 devices running firmware 4.4.5 and earlier. The primary limiting factor for remote exploitation is whether the management interface is exposed to untrusted networks (WAN): if the CGI endpoint is restricted to LAN-only access, exploitation requires attacker presence on the local network segment. No user interaction is required, and attack complexity is low once reachability is established. |
| Impact | The CVSS 4.0 score of 8.9 reflects a network-accessible (AV:N), low-complexity (AC:L), unauthenticated (PR:N), no-user-interaction (UI:N) attack path with high confidentiality, integrity, and availability impact on the vulnerable system and no downstream scope change. The E:P exploit maturity modifier confirms publicly available exploit code, which the provided references corroborate via a GitHub POC repository. These signals collectively paint an elevated real-world risk picture: the attack requires no foothold or prior authentication, the exploit is published, and the impacted device class (consumer/SMB routers) is frequently exposed at network perimeters or insufficiently segmented. The absence of a CISA KEV listing means active widespread exploitation is not yet confirmed, but the gap between POC publication and mass exploitation on routers is historically narrow. EPSS data is not included in the provided intelligence; risk should therefore be treated as elevated pending KEV listing. No conflicting signals are present - the CVSS vector and description are consistent in indicating an unauthenticated network-reachable attack with full device impact. |
| Exploit ScenarioDerived | An unauthenticated remote attacker sends a crafted HTTP POST request to the /cgi-bin/glc endpoint targeting the server.set_peer function, embedding shell metacharacters (e.g., a semicolon or command substitution sequence) in the public_key parameter value. The unsanitized input is passed to an underlying system call within wg-server.so, causing the injected command to execute with the privileges of the CGI process - typically root on embedded GL-iNet firmware. A public POC on GitHub demonstrates this technique against version 4.4.5, meaning the attack can be replicated by low-skill threat actors with minimal adaptation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv2 – Aug 03, 2026
Remote command injection in GL-iNet GL-MT3000 firmware (up to version 4.4.5) allows unauthenticated network attackers to execute arbitrary OS commands on the device by supplying a malicious public_key argument to the server.set_peer function exposed via the /cgi-bin/glc CGI endpoint of the WireGuard server native plugin (wg-server.so). The vendor has confirmed the vulnerability following coordinated disclosure, and a public proof-of-concept exploit is available on GitHub, materially lowering the barrier to exploitation. No publicly confirmed KEV-listed active exploitation is identified at time of analysis, though the combination of unauthenticated network access, high-impact command execution, and available POC makes this an urgent remediation priority for any deployment.
Earlier versions of this analysis (1)
Command injection in the GL-iNet GL-MT3000 (Beryl AX) travel router through firmware 4.4.5 lets a remote attacker execute arbitrary OS commands by injecting shell metacharacters into the public_key parameter of the server.set_peer function in the wg-server.so WireGuard native plugin, reached via /cgi-bin/glc. The router runs on OpenWrt and the injected commands execute with the web backend's privileges (typically root), yielding full device compromise. Publicly available exploit code exists and the vendor has confirmed the flaw, though it is not listed in CISA KEV and no EPSS score was provided.
RemediationAI
No vendor-released patched firmware version is identified in the available data at time of analysis; the patch status should be tracked via the GL-iNet official firmware release page and VulDB advisory at https://vuldb.com/vuln/385536. As an immediate compensating control, restrict network access to the /cgi-bin/glc CGI endpoint at the firewall or via router ACLs - blocking inbound requests to the management interface from untrusted networks (particularly WAN) eliminates remote reachability for this attack vector. If WireGuard server functionality is not required on the device, disabling the wg-server.so plugin or the WireGuard server feature through the GL-iNet admin panel removes the vulnerable code path entirely; note this will disable WireGuard server mode for VPN clients connecting to the device. Placing the router's management interface on an isolated VLAN accessible only to trusted administrator hosts further limits exposure. Monitor https://github.com/StrTzz123/iot_vul/blob/main/GL-iNet/MT3000/4.4.5/wg_set_peer_rce/CVE.md and GL-iNet's firmware changelog for patch availability.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is wg-server.so, a native plugin bundled with GL-iNet's OpenWrt-based firmware that manages WireGuard VPN peer configuration. The CGI interface at /cgi-bin/glc exposes the server.set_peer function, which accepts a public_key argument and passes it to an underlying shell command or system call without adequate sanitization. This constitutes CWE-77 (Improper Neutralization of Special Elements used in a Command), a class of injection flaw in which user-controlled input reaches a command interpreter with insufficient filtering of shell metacharacters (e.g., semicolons, pipes, backticks). The affected CPE cpe:2.3:a:gl-inet:gl-mt3000:*:*:*:*:*:*:*:* covers all GL-MT3000 firmware builds through 4.4.5. GL-MT3000 is a compact travel/home router running an embedded Linux environment, and command injection at the CGI layer typically results in OS-level code execution with the privileges of the web or CGI daemon - often root on embedded devices.
Know when Gl Mt3000 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:P
Network-reachable CGI endpoint, no authentication per provided CVSS 4.0 PR:N, command injection yields full device control with no scope change to other systems.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A vulnerability was identified in GL-iNet GL-MT3000 up to 4.4.5. The impacted element is the function server.set_peer of the file /cgi-bin/glc of the component wg-server.so Native Plugin. The manipulation of the argument public_key leads to command injection. Remote exploitation of the attack is possible. The exploit is publicly available and might be used. The vendor was contacted early about this disclosure and confirmed the existence of the vulnerability.
Latest POC
1 public PoC link from github
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
GL-iNet GL-MT3000 firmware versions up to 4.4.5 contain a remote command injection vulnerability in the WireGuard server component that allows unauthenticated attackers to execute arbitrary operating system commands on the device. Any organization operating this router model faces immediate risk of device compromise, network access interception, and potential lateral movement into protected networks. Urgent action is required to identify, isolate, and remediate affected devices.
No vendor-released patch identified at time of analysis. Recommended interim mitigations: (1) Disable the WireGuard server plugin (wg-server.so) if not operationally critical; (2) Implement network firewall rules restricting access to the WireGuard server port (typically UDP 51820); (3) Move affected GL-MT3000 devices to an isolated network segment segregated from critical infrastructure; (4) Enable device logging and establish monitoring for unauthorized command execution attempts; (5) Engage GL-iNet support for any vendor-recommended temporary configurations pending patch availability.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Command injection in GL.iNet GL-MT3000 router firmware (all versions through 4.4.5) allows unauthenticated remote attack
Remote command injection in GL.iNet GL-MT3000 router firmware (versions 4.4.0 through 4.4.5) allows unauthenticated netw
Remote command injection in GL-iNet GL-MT3000 firmware through version 4.4.5 allows unauthenticated network attackers to
Command injection in GL.iNet GL-MT3000 firmware up to version 4.4.5 exposes the device to full remote compromise through
Unauthenticated remote command injection in GL-iNet GL-MT3000 firmware (versions 4.4.0 through 4.4.5) allows network-adj
Command injection in GL.iNet GL-MT3000 firmware up to version 4.4.5 allows remote attackers to execute arbitrary OS comm
Remote command injection in the GL-iNet GL-MT3000 travel router (firmware 4.4.0-4.4.5) allows unauthenticated network-ad
Remote command injection in GL.iNet GL-MT3000 routers (firmware 4.4.0-4.4.5) allows unauthenticated network attackers to
Injection vulnerability in GL-iNet GL-MT3000 (Beryl AX) firmware through version 4.4.5 exposes the plugins.set_config fu
Authenticated command injection in the GL.iNet GL-MT3000 travel router (firmware up to 4.4.5) lets remote attackers with
Command injection in the GL.iNet GL-MT3000 travel router's Online Firmware Upgrade Handler (/usr/bin/one_click_upgrade)
Command injection in the GL.iNet GL-MT3000 router's Network Lua RPC Plugin allows authenticated remote attackers to exec
EUVD-2026-52414
GHSA-39jx-5rpr-2f33
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB