Like finding a lockpick vulnerability in a diary that's already open on your desk
CVE-2026-9044 is an OS command injection flaw (CWE-78) in the OpenVPN configuration import function of the TP-Link Archer AXE75 V1 consumer Wi-Fi router. All firmware versions prior to 1.5.6 Build 20260623 are affected. An attacker who is already on the same LAN segment *and* has valid admin credentials can import a specially crafted .ovpn configuration file containing shell metacharacters that the router's VPN module fails to sanitize, achieving arbitrary command execution as root on the embedded Linux OS.
TP-Link tagged this CVSS v4.0 8.5 / HIGH, but that label overstates the real-world risk for enterprise defenders. The vector (AV:A/PR:H) means the attacker must already be adjacent *and* hold admin privileges — two preconditions that, combined, dramatically shrink the exploitable population. If an attacker already has your router's admin password and is on your LAN, you have bigger problems than a config-file injection. For an enterprise fleet, the AXE75 is a consumer device that rarely appears outside home offices or shadow-IT deployments, further limiting blast radius.
4 steps from start to impact.
Gain LAN adjacency
- Physical proximity or prior compromise of a LAN host
- Wi-Fi passphrase or wired Ethernet access
- Enterprise networks don't deploy AXE75 routers as managed infrastructure
- Home-office routers sit behind ISP NAT, invisible from the internet
- Attacker must already be inside the target's home/branch network
Authenticate as router admin
PR:H (high privileges). Default credentials are admin/admin on some TP-Link models, but many users change them during setup. Credential stuffing against a single embedded web UI is noisy and slow.- Valid admin username and password for the router
- Many users change default credentials during first-run wizard
- No credential-spray surface — single local account, often rate-limited
- If the attacker already has admin, they can already reconfigure routing, DNS, firewall rules without needing this CVE
Craft and import malicious .ovpn file
;, |, $()) suffice.- Authenticated admin session from step 2
- Knowledge of the injection point in the .ovpn parser
- No public PoC exploit exists as of August 2026
- Attacker must reverse-engineer or guess the vulnerable parameter
Achieve root command execution on router
- Successful injection from step 3
- Blast radius limited to one consumer router and its LAN segment
- No lateral movement to enterprise domain infrastructure
- Embedded OS has limited tooling for post-exploitation
The supporting signals.
| In-the-wild exploitation | No evidence. Not listed on CISA KEV. No known campaigns targeting this CVE as of 2026-08-06. |
|---|---|
| Proof of concept | None public. No PoC repos on GitHub. The vulnerability is straightforward CWE-78 but no researcher has published exploit code. |
| EPSS | 0.00973 (~1.0 percentile) — very low predicted exploitation probability. |
| KEV status | Not listed. No CISA KEV entry. |
| CVSS vector | CVSS:4.0/AV:A/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L — Adjacent access + High privileges required. The 8.5 score reflects full device compromise but assumes the attacker has already cleared two significant hurdles. |
| Affected versions | TP-Link Archer AXE75 V1 only, all firmware prior to 1.5.6 Build 20260623. Other hardware versions (V2+) and other Archer models are not affected by this specific CVE. |
| Fixed version | 1.5.6 Build 20260623 (released 2026-06-23, advisory published 2026-07-31). |
| Exposure data | Consumer router behind ISP NAT. No meaningful Shodan/Censys exposure of AXE75 admin panels on the public internet. The management interface is LAN-only by default. |
| Disclosure timeline | CVE reserved 2026-05-19, published 2026-07-31, last updated 2026-08-04. |
| Researcher | Credited to CarlCamel. |
noisgate verdict.
The single most decisive factor is the dual-gate prerequisite: the attacker must already hold admin credentials *and* be on the adjacent LAN — two conditions that, when compounded, reduce the reachable attack surface to near-zero in managed enterprise environments. The affected device is a consumer Wi-Fi router that does not occupy any enterprise-critical role in a 10,000-host fleet.
Why this verdict
- Adjacent + admin auth compounds to near-zero reachability. AV:A means no internet-facing attack surface. PR:H means the attacker already owns the device's admin account. Together, these prerequisites place this firmly below HIGH for any realistic enterprise threat model.
- Consumer device, not enterprise infrastructure. The Archer AXE75 is a ~$120 consumer Wi-Fi 6E router. It does not appear in enterprise procurement catalogs, is not managed by enterprise MDM/UEM, and would only surface as shadow IT in home offices or branch closets.
- Role multiplier: negligible enterprise role. The AXE75 is not a network edge appliance in the enterprise sense (not FortiGate, PAN-OS, ASA). In a home-office scenario it is the perimeter device, but compromise of a single remote worker's home router does not yield domain takeover, fleet compromise, or supply-chain pivot. Blast radius: single device → single home LAN segment. This does not trigger the HIGH floor.
- No PoC, no KEV, bottom-decile EPSS (0.97%). There is zero evidence of weaponization or attacker interest. The exploitation probability model places this in the lowest tier.
Why not higher?
To reach HIGH, the vulnerability would need either (a) a realistic path to compromise enterprise-critical infrastructure, (b) active exploitation or KEV listing, or (c) unauthenticated or remote attack surface. None of these apply. The AXE75 is a consumer device requiring LAN adjacency and admin credentials — two prerequisites that each independently narrow the population below meaningful enterprise risk thresholds.
Why not lower?
The underlying flaw is genuine root-level command injection (CWE-78), and if exploited, grants complete device control including traffic interception and DNS hijacking for the LAN segment. In a work-from-home scenario where sensitive corporate traffic traverses the compromised router, the confidentiality impact is real. Dropping to LOW would understate the impact *given successful exploitation*, even though the path to get there is narrow.
What to do — in priority order.
- Change default admin credentials on all AXE75 routers — The PR:H prerequisite means credential hygiene is the primary gate. Ensure all deployed AXE75 units use strong, unique admin passwords. This alone blocks the attack chain. No mitigation SLA applies at MEDIUM — go straight to remediation.
- Update firmware to 1.5.6 Build 20260623 — The patch has been available since June 2026. Push firmware updates to any AXE75 units managed or tracked by IT. For BYOD/home-office routers, issue guidance to affected remote workers within the 365-day noisgate remediation window.
- Disable remote management if enabled — Although remote management is off by default, verify it hasn't been toggled on. This ensures the admin interface remains LAN-only, preserving the AV:A constraint.
- Inventory shadow-IT consumer routers in branch offices — If your asset inventory doesn't track consumer-grade routers, you can't patch what you don't know about. Run a network scan for TP-Link OUI MAC prefixes on branch subnets.
- WAF / IPS at the enterprise perimeter — the vulnerability is exploited via the router's local web UI, not through traffic that traverses enterprise security controls.
- EDR on endpoints — no EDR agent runs on the router's embedded Linux OS; endpoint protection on connected hosts does not prevent router compromise.
- Network segmentation — while segmentation limits post-compromise lateral movement, it does not prevent the initial router exploitation if the attacker is already on the LAN segment.
Crowdsourced verification payload.
Run this script from any Linux/macOS host on the same LAN as the target AXE75 router. Pass the router's IP as the first argument: bash check_axe75_cve2026_9044.sh 192.168.0.1. No special privileges required — it queries the router's web interface for firmware version information.
#!/usr/bin/env bash
# check_axe75_cve2026_9044.sh — Check TP-Link Archer AXE75 V1 for CVE-2026-9044
# Usage: bash check_axe75_cve2026_9044.sh <router_ip>
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN
set -euo pipefail
ROUTER_IP="${1:-}"
if [ -z "$ROUTER_IP" ]; then
echo "Usage: $0 <router_ip>"
exit 2
fi
echo "[*] Querying TP-Link Archer AXE75 at $ROUTER_IP ..."
# Attempt to grab firmware version from the login page or device info endpoint
# TP-Link routers often expose model/firmware in the login page HTML or via CGI
RESPONSE=$(curl -sk --connect-timeout 5 --max-time 10 "http://$ROUTER_IP/" 2>/dev/null || true)
if [ -z "$RESPONSE" ]; then
echo "[!] Could not connect to $ROUTER_IP"
echo "UNKNOWN"
exit 2
fi
# Check if this is an AXE75
if ! echo "$RESPONSE" | grep -qi 'AXE75\|Archer AXE75'; then
echo "[!] Device at $ROUTER_IP does not appear to be an Archer AXE75"
echo "UNKNOWN"
exit 2
fi
# Try to extract firmware version (format: X.Y.Z Build YYYYMMDD)
FW_VERSION=$(echo "$RESPONSE" | grep -oiP '\d+\.\d+\.\d+\s*Build\s*\d{8}' | head -1)
if [ -z "$FW_VERSION" ]; then
echo "[!] Could not extract firmware version from web interface."
echo "[!] Manual check required: log in to http://$ROUTER_IP and check"
echo " Advanced > System > Firmware Update for version >= 1.5.6 Build 20260623"
echo "UNKNOWN"
exit 2
fi
echo "[*] Detected firmware: $FW_VERSION"
# Extract major.minor.patch and build date
FW_NUM=$(echo "$FW_VERSION" | grep -oP '\d+\.\d+\.\d+' | head -1)
BUILD_DATE=$(echo "$FW_VERSION" | grep -oP '\d{8}' | head -1)
# Compare: fixed version is 1.5.6 Build 20260623
# Simple comparison via build date (YYYYMMDD)
FIXED_BUILD=20260623
if [ "$BUILD_DATE" -ge "$FIXED_BUILD" ] 2>/dev/null; then
echo "[+] Firmware build date $BUILD_DATE >= $FIXED_BUILD (fixed)"
echo "PATCHED"
exit 0
else
echo "[-] Firmware build date $BUILD_DATE < $FIXED_BUILD (vulnerable)"
echo "[-] CVE-2026-9044: OS command injection in VPN module"
echo "[-] Update to firmware 1.5.6 Build 20260623 or later"
echo "VULNERABLE"
exit 1
fiIf you remember one thing.
Sources
What defenders are saying.
Crowdsourced verification outputs.
Results submitted by users who ran the verification payload against their environment.