← Back to Feed CACHED · 2026-10-22 02:10:03 · CACHE_KEY CVE-2026-114575
CVE-2026-114575 · CWE-74 · Disclosed 2026-10-22

TOTOLINK A950RG pre-auth command injection via UploadCustomModule FileMd5 parameter

ASSESSED — NOISGATE
Vendor
—
—
—
Reassessed
—
—
—
Verdict: —
Do you agree?
01 · The Real Story

This is a thermonuclear warhead aimed at a mailbox — the weapon is real, but the target isn't in your zip code

CVE-2026-114575 is an unauthenticated OS command injection in the TOTOLINK A950RG consumer Wi-Fi router, firmware version 4.1.2cu.5268_B20221104. The flaw lives in the UploadCustomModule function within lib/cste_modules/product.so. An attacker sends a POST request to /cgi-bin/cstecgi.cgi with a crafted JSON body where the FileMd5 parameter carries shell metacharacters. Because the firmware passes this value directly to a system command without sanitization, the attacker achieves root-level code execution on the router — no credentials, no user interaction, no complexity. The A950RG is a ~$30 AC1200 dual-band consumer/SOHO router sold primarily in Asian markets (Vietnam, China, Southeast Asia). Only a single firmware build is confirmed affected, with no subsequent patched release from TOTOLINK.

The vendor CVSS of 10.0 is technically accurate *for the device itself* — the vector AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H correctly describes an unauthenticated remote code execution with scope change. But for an enterprise security team managing a fleet of servers, workstations, and managed network appliances, this score is deeply misleading. The TOTOLINK A950RG is not enterprise infrastructure. It does not appear in enterprise procurement catalogs, asset management databases, or managed switch/firewall inventories. CVSS does not account for deployment prevalence, and here that gap turns a 10.0 into noise. The real audience for this CVE is ISPs, SOHO users, and botnet researchers — not your Tuesday patch cycle.

"Consumer SOHO router bug — devastating on-device, irrelevant to enterprise fleet patching."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Locate exposed management interface

The attacker scans for TOTOLINK A950RG routers with their web management interface reachable over the network. For internet-facing exploitation, the admin panel must be exposed on the WAN side (default is LAN-only but some users enable remote management). On the LAN side, any device on the local Wi-Fi network can reach it.
Conditions required:
  • TOTOLINK A950RG running firmware 4.1.2cu.5268_B20221104
  • Web management interface reachable (LAN by default, WAN if remote mgmt enabled)
Where this breaks in practice:
  • Enterprise networks do not deploy TOTOLINK consumer routers
  • Default config does not expose admin panel to WAN
  • Shodan/Censys show minimal internet-facing TOTOLINK A950RG population compared to enterprise edge appliances
Detection/coverage: Shodan query title:TOTOLINK or http.html:A950RG can identify exposed instances. No enterprise vulnerability scanners (Qualys, Tenable, Rapid7) carry authenticated checks for this firmware.
STEP 02

Send crafted POST to cstecgi.cgi

The attacker sends an unauthenticated HTTP POST to /cgi-bin/cstecgi.cgi with a JSON body setting topicurl to setting/UploadCustomModule and injecting OS commands via the FileMd5 parameter. The product.so shared library passes this value unsanitized to a system() call. No authentication token, session cookie, or CSRF token is validated. Public PoC by H3rmesk1t (GitHub gist) demonstrates the full request.
Conditions required:
  • Network reachability to the management interface
Where this breaks in practice:
  • None — this step is trivial once the interface is reachable
Detection/coverage: IDS/IPS signatures for cstecgi.cgi POST with shell metacharacters in JSON body. Fortinet IPS rule 51514 covers related TOTOLINK command injection patterns.
STEP 03

Achieve root shell on router

The injected command executes as root (embedded Linux, all services run as root). The attacker can install a reverse shell, implant a Mirai variant, modify DNS settings for MitM, or pivot into the LAN. Historical precedent: the Beastmode Mirai campaign integrated TOTOLINK exploits within one week of PoC publication in 2022.
Conditions required:
  • Successful command injection from step 2
Where this breaks in practice:
  • Router has limited storage and compute — useful primarily for botnet recruitment or DNS hijacking, not as a persistent C2 node
  • Compromising a home router does not directly yield enterprise domain credentials or fleet access
Detection/coverage: Outbound connection anomalies from the router IP (beaconing to C2). DNS query logs may show unexpected resolver changes if DNS hijacking is used.
03 · Compensating Control

1
LOW 2.5→IGNORE 0.0
SEVERITY REDUCED
Run a network asset discovery scan for TOTOLINK devices — Use your NAC, network scanner (Nmap http-title script), or DHCP logs to identify any TOTOLINK devices on corporate network segments. If found, physically replace with a managed enterprise access point or router. This is your only real action item. No patching SLA applies since this is a LOW verdict — treat as backlog hygiene when discovered.
2
LOW 2.5→IGNORE 0.0
SEVERITY REDUCED
Block TOTOLINK management interface ports at branch firewalls — If any branch offices use TOTOLINK routers (unlikely but possible in acquired locations), ensure the management interface (TCP 80/443) is not accessible from the WAN and is restricted to a management VLAN on the LAN side. This removes the remote attack vector while you schedule replacement. No mitigation SLA for LOW — handle opportunistically.
3
LOW 2.5→LOW 2.0
Deploy IPS signatures for TOTOLINK cstecgi.cgi exploitation — Fortinet IPS rule 51514 and similar signatures detect command injection via TOTOLINK CGI endpoints. Enable these on perimeter IPS/IDS to catch scanning activity targeting any TOTOLINK devices that might exist on your perimeter. This also provides telemetry on botnet scanning directed at your IP ranges.
4
LOW 2.5→LOW 2.0
Issue remote-worker advisory on home router firmware — If your organization has a remote-work security awareness program, include a general advisory encouraging employees to update home router firmware and disable remote management. This is a hygiene recommendation, not a patch action — the enterprise has no enforcement authority over employee home equipment.
What doesn't work
  • Enterprise vulnerability scanners (Qualys, Tenable, Rapid7) — None carry authenticated checks for TOTOLINK A950RG firmware. These devices are not in their plugin databases as managed assets.
  • NAC 802.1X enforcement — While NAC would prevent a rogue TOTOLINK from joining the corporate network, the attack vector is the router's own management interface, not a device joining your network. NAC doesn't help if the router IS your branch network edge.
  • Firmware patching — No patch exists from TOTOLINK. The only remediation is device replacement.
04 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo confirmed in-the-wild exploitation yet. Not on CISA KEV. However, TOTOLINK routers are a proven Mirai botnet target — the Beastmode campaign (Fortinet, 2022) weaponized TOTOLINK CVEs within days of PoC release. A Go-based IoT botnet observed by Akamai in September 2026 targets TOTOLINK-style CGI endpoints.
Proof-of-ConceptPublic. GitHub gist by researcher H3rmesk1t (gist.github.com/H3rmesk1t/3a629799af33425e07571182e539a794). Additional related PoC material in wangx1nyi/IoT-vuln repo on GitHub covering the same UploadCustomModule endpoint across TOTOLINK models.
EPSS ScoreNot yet available — CVE was published on 2026-10-22 (same day). FIRST typically populates EPSS within 24-48 hours. Expect a moderate-to-high EPSS given public PoC and low attack complexity on similar TOTOLINK CVEs.
CISA KEV StatusNot listed. Given this is a consumer SOHO device with negligible U.S. federal deployment, KEV listing is unlikely.
CVSS Vector InterpretationCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H — Scope Changed means the attacker pivots from the router to affect connected devices. The 10.0 is technically valid for the device but does not reflect enterprise deployment prevalence. CVSS 4.0 score is 9.3.
Affected VersionsTOTOLINK A950RG firmware 4.1.2cu.5268_B20221104 (single confirmed build). No other firmware versions tested or confirmed.
Fixed VersionNone available. TOTOLINK has not released a patched firmware. The A950RG has had 223+ CVEs across TOTOLINK products in 2026 alone (avg score 8.6), suggesting limited vendor investment in security patches.
Scanning / Exposure DataNo specific Shodan/Censys counts available for A950RG specifically. TOTOLINK routers as a class have a small internet footprint compared to enterprise edge vendors. GreyNoise sensors have observed scanning activity targeting TOTOLINK CGI endpoints throughout 2026.
Disclosure TimelinePublished 2026-10-22. NVD status: *Received* (analysis pending). Same-day PoC availability.
Reporting ResearcherH3rmesk1t (GitHub). Related UploadCustomModule research by wangx1nyi (GitHub IoT-vuln repository).

Sources.

  1. VulDB — CVE-2026-114575 Advisory
  2. Strix.ai — CVE-2026-114575 Details
  3. Offseq Radar — Command Injection Analysis
  4. H3rmesk1t — TOTOLINK A950RG PoC (GitHub Gist)
  5. wangx1nyi/IoT-vuln — UploadCustomModule PoC
  6. Fortinet — Beastmode Mirai Campaign Targeting TOTOLINK
  7. HOL Guard — CVE-2026-114575
  8. Akamai — Go-Based IoT DDoS Botnet (Sep 2026)
05 · The Call

Final Verdict
↓ DOWNGRADED to LOW (2.5/10)

Why this verdict

  • Not enterprise infrastructure: The TOTOLINK A950RG is a ~$30 consumer/SOHO AC1200 Wi-Fi router. It does not appear in enterprise procurement, is not managed by enterprise endpoint/network management tools (SCCM, Intune, Jamf, Meraki, FortiManager), and is absent from standard enterprise asset inventories. An enterprise managing 10,000 hosts has zero of these in scope.
  • Role multiplier — network edge appliance analysis: The high-value-role catalog lists enterprise perimeter appliances (F5, Palo, FortiGate, Cisco ASA). The TOTOLINK A950RG is not in this class. It occupies the *low-value role* of home Wi-Fi router or lab device. Even if a remote employee uses one at home, the enterprise does not own, manage, or patch it. The blast radius of a compromise is one home network segment — not domain takeover, not fleet compromise, not supply-chain pivot. Less than 0.1% of A950RG installations occupy any enterprise network role. The high-value floor does not apply.
  • No patch exists, but no action is needed: TOTOLINK has not released a fix and shows no indication of doing so. But since this device is not in your managed fleet, the absence of a patch is the *vendor's* problem, not yours. If you somehow discover TOTOLINK devices via network scanning, the correct action is physical replacement, not firmware patching.
  • Mirai botnet risk is real but not your problem to patch: Historical data shows Mirai variants weaponize TOTOLINK CVEs within days. This is a legitimate internet hygiene concern — but it affects ISPs and home users, not your enterprise patching queue. Your perimeter defenses (NGFW, IPS) already block botnet C2 traffic.
  • CVSS 10.0 reflects device-level severity, not enterprise risk: The vector is accurate for an unauth RCE on the device. But CVSS has no axis for 'deployment prevalence in the target environment.' For your environment, the realistic exploitability is near zero because the precondition — having a TOTOLINK A950RG in your managed network — is not met.

Why not higher?

Upgrading to MEDIUM would require the TOTOLINK A950RG to plausibly exist in enterprise managed inventories at a rate where it would appear in routine vulnerability scans. It does not. Even in the edge case of a remote worker's home router being compromised, the enterprise has no patching authority over the device and the blast radius is confined to the home LAN — not the corporate domain. The Mirai botnet vector is real but is an internet-wide hygiene issue, not an enterprise patch-cycle item.

Why not lower?

IGNORE would mean zero conceivable enterprise relevance. We stop short of IGNORE because: (1) some organizations in developing markets or with acquired SOHO branch offices *might* discover TOTOLINK devices during network audits, (2) a compromised employee home router could theoretically enable DNS hijacking or MitM of VPN traffic before the tunnel establishes, and (3) the public PoC and Mirai botnet history mean exploitation is near-certain on exposed devices, so awareness has value even if patching action does not.

06 · Verification

Crowdsourced verification payload.

Run this from any Linux/macOS workstation on the same network segment as a suspected TOTOLINK device. Invoke with: bash check_totolink_a950rg.sh <ROUTER_IP>. No special privileges required — it uses only HTTP requests. It probes the management interface to identify the device model and firmware, then reports vulnerability status.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_totolink_a950rg.sh — CVE-2026-114575 detection
# Checks if a target IP hosts a TOTOLINK A950RG with vulnerable firmware.
# Usage: bash check_totolink_a950rg.sh <ROUTER_IP>
# Exit codes: 0 = VULNERABLE, 1 = PATCHED/not-affected, 2 = UNKNOWN

set -euo pipefail

if [[ $# -lt 1 ]]; then
  echo "Usage: $0 <ROUTER_IP>"
  exit 2
fi

TARGET="$1"
TIMEOUT=5
VULN_FW="4.1.2cu.5268_B20221104"

# Step 1: Check if the web interface is reachable
HTTP_RESP=$(curl -sk --max-time "$TIMEOUT" -o /dev/null -w "%{http_code}" "http://${TARGET}/" 2>/dev/null || true)

if [[ -z "$HTTP_RESP" || "$HTTP_RESP" == "000" ]]; then
  echo "UNKNOWN — Cannot reach http://${TARGET}/ (timeout or connection refused)"
  exit 2
fi

# Step 2: Fetch the page content and look for TOTOLINK A950RG identifiers
PAGE=$(curl -sk --max-time "$TIMEOUT" "http://${TARGET}/" 2>/dev/null || true)

if ! echo "$PAGE" | grep -qi "totolink\|A950RG"; then
  echo "UNKNOWN — Host at ${TARGET} does not appear to be a TOTOLINK device"
  exit 2
fi

if ! echo "$PAGE" | grep -qi "A950RG"; then
  echo "UNKNOWN — TOTOLINK device detected but model is not A950RG"
  exit 2
fi

# Step 3: Try to extract firmware version from the page or device info endpoint
DEVINFO=$(curl -sk --max-time "$TIMEOUT" \
  -X POST "http://${TARGET}/cgi-bin/cstecgi.cgi" \
  -H "Content-Type: application/json" \
  -d '{"topicurl":"setting/getDeviceInfo"}' 2>/dev/null || true)

FW_VERSION=""
if echo "$DEVINFO" | grep -qoP '"firmwareVer"\s*:\s*"[^"]+"'; then
  FW_VERSION=$(echo "$DEVINFO" | grep -oP '"firmwareVer"\s*:\s*"\K[^"]+' || true)
fi

# Fallback: check page source for firmware string
if [[ -z "$FW_VERSION" ]]; then
  FW_VERSION=$(echo "$PAGE" | grep -oP '4\.1\.2cu\.[0-9]+_B[0-9]+' | head -1 || true)
fi

if [[ -z "$FW_VERSION" ]]; then
  echo "UNKNOWN — TOTOLINK A950RG detected at ${TARGET} but firmware version could not be determined"
  echo "  Manually verify firmware via admin panel. Vulnerable version: ${VULN_FW}"
  exit 2
fi

echo "Detected firmware: ${FW_VERSION}"

if [[ "$FW_VERSION" == "$VULN_FW" ]]; then
  echo "VULNERABLE — TOTOLINK A950RG at ${TARGET} runs firmware ${VULN_FW} (CVE-2026-114575)"
  echo "  Action: Replace this device with a managed enterprise AP/router immediately."
  exit 0
else
  echo "PATCHED — TOTOLINK A950RG at ${TARGET} runs firmware ${FW_VERSION} (not the known-vulnerable build)"
  echo "  Note: No vendor patch exists for CVE-2026-114575. If this is a different build, verify independently."
  exit 1
fi