← Back to Feed CACHED · 2026-08-03 05:28:24 · CACHE_KEY CVE-2026-12935
CVE-2026-12935 · CWE-121 · Disclosed 2026-07-29

The TL-WR940N v6 router contains a vulnerability in its RTSP connection tracking module that can lead to a…

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

A cheap home router's RTSP parser can be tricked into handing over the keys, but only if someone inside the house opens the wrong door first

CVE-2026-12935 is a stack-based buffer overflow (CWE-121) in the RTSP connection tracking kernel module of the TP-Link TL-WR940N v6 consumer wireless router. When a LAN-side client initiates a connection to a malicious RTSP server controlled by an attacker, specially crafted RTSP response data triggers improper memory handling in the kernel conntrack helper. Successful exploitation yields denial of service or full remote code execution as root on the device. Affected firmware spans all TL-WR940N v6 builds prior to (US)_V6_260528, (EU)_V6_260528, and (JP)_V6_260527. Only hardware revision v6 is impacted — no other TL-WR940N revisions or TP-Link models are named in the advisory.

TP-Link assigned a CVSS 4.0 score of 8.7 (High), which accurately reflects the theoretical impact — unauthenticated kernel-level RCE on a network device. However, for enterprise security teams managing fleet infrastructure, this score dramatically overstates operational risk. The TL-WR940N is a sub-$25 consumer 802.11n router with no enterprise management capabilities, no centralized deployment, and near-zero presence in managed corporate networks. The attack also requires user interaction: a LAN client must be lured into connecting to an attacker-controlled RTSP server, meaning this is not a scan-and-pop vulnerability. For the audience managing 10,000 enterprise hosts, this CVE is background noise unless you have unmanaged SOHO equipment at branch locations.

"Consumer SOHO router RCE via RTSP requires user interaction; irrelevant to most enterprise fleets"
02 · The Attack Path

4 steps from start to impact.

STEP 01

Attacker stands up malicious RTSP server

The attacker provisions a server on the internet (or an adjacent network) running a crafted RTSP service. This service is configured to return oversized or malformed RTSP response headers designed to overflow the conntrack helper's stack buffer. No special tooling beyond a custom RTSP responder is needed.
Conditions required:
  • Attacker controls an internet-reachable server capable of serving RTSP
Where this breaks in practice:
  • Attacker must know the target is behind a TL-WR940N v6 specifically — passive fingerprinting of consumer routers behind NAT is unreliable
STEP 02

LAN client initiates RTSP connection through router

A user behind the TL-WR940N v6 must be lured into initiating an RTSP connection to the attacker's server. This could happen via a phishing link to a media stream, a malicious embed on a compromised website, or social engineering. The RTSP connection passes through the router's NAT/conntrack layer, which invokes the vulnerable RTSP ALG (Application Layer Gateway) helper in kernel space.
Conditions required:
  • A LAN-side user must actively initiate or be tricked into initiating an RTSP connection
  • The router's RTSP conntrack helper must be enabled (it is by default)
Where this breaks in practice:
  • Requires user interaction — this is not a drive-by that triggers on HTTP browsing alone; the victim must open an rtsp:// URI or an application that negotiates RTSP
  • Modern browsers do not natively handle rtsp:// URIs; a media player (VLC, etc.) must be installed and configured as a handler
  • Enterprise proxy/firewall policies typically block outbound RTSP (port 554) from managed networks
Detection/coverage: Network IDS rules for anomalous RTSP response sizes could catch the overflow payload. No specific Snort/Suricata SID is published yet.
STEP 03

Stack buffer overflow triggers in kernel conntrack module

The malformed RTSP response data is processed by the kernel-space conntrack helper module. The oversized field overflows a stack buffer, overwriting the return address. On MIPS architecture (used by TL-WR940N), exploitation is straightforward due to the absence of ASLR, stack canaries, and NX on most consumer router firmware builds.
Conditions required:
  • Vulnerable firmware version is running on the router
  • No upstream firewall or proxy blocks the RTSP response
Where this breaks in practice:
  • MIPS ROP chains are well-understood but still require per-firmware-build offset calibration — no universal exploit exists
  • No public PoC or weaponized exploit is available as of 2026-08-03
STEP 04

Attacker achieves root shell on the router

Successful exploitation gives the attacker a root shell on the TL-WR940N. From this position, the attacker can intercept all LAN traffic, modify DNS settings to redirect users to phishing/malware sites, pivot into the LAN, or brick the device. The blast radius is limited to the single network segment behind that router.
Conditions required:
  • Steps 1-3 succeed
Where this breaks in practice:
  • Compromise of a single consumer router does not give access to enterprise domain infrastructure
  • The device has minimal storage and compute — not a useful C2 staging point
  • Consumer routers are frequently rebooted or reset, making persistence fragile
Detection/coverage: Compromise indicators: unexpected DNS server changes in router config, new port forwards, modified firewall rules. No EDR coverage exists for consumer routers.
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNo evidence of active exploitation. Not listed in CISA KEV. No reports from threat intelligence vendors.
Proof of ConceptNo public PoC as of 2026-08-03. Researcher Ryo Shimada (Powder Keg Technologies, Inc.) performed responsible disclosure. No exploit code on GitHub, Exploit-DB, or PacketStorm.
EPSS Score0.00807 (≈0.8%) — low probability of exploitation in the next 30 days, consistent with a consumer device CVE with no public exploit.
KEV StatusNot listed. No CISA KEV entry.
CVSS VectorCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N — 8.7 High. Network-accessible, no privileges required, but user interaction (passive) is required. Impact confined to the vulnerable system.
Affected VersionsTP-Link TL-WR940N hardware revision v6 only, all firmware prior to the May 2026 patch. No other hardware revisions or TP-Link models affected.
Fixed VersionsUS: (US)_V6_260528, EU: (EU)_V6_260528, JP: (JP)_V6_260527. Available from TP-Link regional download centers.
Exposure DataShodan shows TL-WR940N management interfaces exposed on the internet, but this CVE does not attack the management interface — it attacks the NAT conntrack path, which is only reachable from the LAN side. Internet exposure of the admin panel is irrelevant to this specific attack vector.
Disclosure Date2026-07-29 (published). CVE reserved 2026-06-22.
CreditRyo Shimada, University of Tsukuba / Powder Keg Technologies, Inc.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to MEDIUM (5.5/10)

The single most decisive factor is the near-zero enterprise deployment footprint of the TL-WR940N v6 consumer router — a sub-$25 home device that does not appear in managed enterprise asset inventories. The required user interaction (LAN client must initiate an RTSP connection to an attacker-controlled server) further narrows the realistic attack population to a small fraction of an already negligible installed base.

HIGH Vulnerability description and affected versions
HIGH Attack path requiring user interaction
MEDIUM Absence of public PoC (could change)
LOW Enterprise deployment population estimate (no hard telemetry)

Why this verdict

  • User interaction required: The CVSS vector includes UI:P — a LAN user must be socially engineered into opening an RTSP stream to an attacker-controlled server. This is not a remotely scannable, zero-click vulnerability.
  • Consumer-grade device, not enterprise infrastructure: The TL-WR940N v6 is a budget home router. Enterprise networks running 10,000 managed hosts do not deploy this device in any infrastructure role. It has no centralized management, no SNMP fleet support, and no place in a managed network.
  • Role multiplier: The TL-WR940N v6 is exclusively a consumer SOHO router. It does not occupy any high-value enterprise role (not a DC, hypervisor, IdP, PAM, backup server, CI/CD, or network edge appliance in the enterprise sense). Even in the worst case — a forgotten branch-office router — compromise is limited to a single LAN segment with no lateral path to domain infrastructure. Blast radius: single network segment. This does not trigger the high-value-role floor.
  • No PoC, no exploitation, no KEV: Zero public exploit code, EPSS at 0.8%, and no threat intelligence reporting. The friction of building a working MIPS ROP chain for this specific firmware without a PoC is non-trivial.
  • Narrow hardware scope: Only TL-WR940N hardware revision v6 is affected — not v1-v5, not any other TP-Link model. This further restricts the vulnerable population.

Why not higher?

A HIGH or CRITICAL rating would require either active exploitation, a broader enterprise deployment footprint, or a zero-click remote attack vector. None of these conditions are met. The TL-WR940N v6 is a consumer device with no meaningful enterprise presence, the attack requires user interaction, and there is no public exploit or KEV listing. The blast radius is confined to a single LAN segment behind a home router.

Why not lower?

Despite the consumer-device context, this is still a kernel-level RCE on a network device that processes all traffic for its LAN. If an organization does have unmanaged TL-WR940N v6 units at remote worker homes or small branch offices, a compromise could enable traffic interception and DNS hijacking for all users on that segment. The lack of any security controls on the device (no ASLR, no stack canaries) makes exploitation reliable once an attacker invests in offset research. LOW would understate the impact for the small population that is actually affected.

05 · Compensating Control

What to do — in priority order.

  1. Audit asset inventory for TL-WR940N v6 units — Search your CMDB, NAC logs, and DHCP fingerprinting for TL-WR940N devices. If you have zero, close this ticket. If you find units at branch offices or remote-worker homes, prioritize firmware updates within the noisgate 365-day remediation window.
  2. Block outbound RTSP (TCP 554) at the perimeter — If your firewall or proxy does not already block outbound RTSP, add a deny rule. This eliminates the attack vector entirely by preventing LAN clients from reaching attacker-controlled RTSP servers. This is a permanent hardening measure regardless of this CVE.
  3. Update affected routers to patched firmware — Flash the appropriate regional firmware: (US)_V6_260528, (EU)_V6_260528, or (JP)_V6_260527. For unmanaged consumer devices, this may require coordinating with remote workers. Target completion within the noisgate 365-day remediation window.
  4. Replace consumer routers with managed equipment — Long-term, replace any TL-WR940N units with enterprise-managed access points or SD-WAN appliances that support centralized firmware management and security monitoring.
What doesn't work
  • Router admin password change — does not help. This CVE does not attack the management interface; it exploits the kernel conntrack module processing transit RTSP traffic. Authentication is irrelevant.
  • Disabling remote management — does not help. The attack vector is LAN-to-WAN RTSP traffic passing through NAT, not inbound management access.
  • IPS/IDS on the router itself — the TL-WR940N has no onboard IDS capability. The overflow occurs in the kernel before any application-layer inspection.
06 · Verification

Crowdsourced verification payload.

Run this from any Linux/macOS workstation that can reach the router's management interface (default 192.168.0.1). Requires curl and network access to the router's web UI. Pass the router IP as the first argument: bash check_wr940n.sh 192.168.0.1

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_wr940n.sh — Check TL-WR940N v6 firmware for CVE-2026-12935
# Usage: bash check_wr940n.sh <router_ip>
# Requires: curl, grep
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN

set -euo pipefail

ROUTER_IP="${1:-192.168.0.1}"
TIMEOUT=10

echo "[*] Checking TL-WR940N at ${ROUTER_IP} for CVE-2026-12935..."

# Attempt to pull firmware version from the router's status page
# TL-WR940N v6 exposes version info at the system status page
RESPONSE=$(curl -sk --max-time "${TIMEOUT}" "http://${ROUTER_IP}/" 2>/dev/null || true)

if [ -z "${RESPONSE}" ]; then
  echo "[!] Could not connect to router at ${ROUTER_IP}"
  echo "UNKNOWN"
  exit 2
fi

# Check if this is a TL-WR940N
if ! echo "${RESPONSE}" | grep -qi 'WR940N'; then
  echo "[!] Device at ${ROUTER_IP} does not appear to be a TL-WR940N"
  echo "UNKNOWN"
  exit 2
fi

# Try to extract firmware version string
# Common patterns: "3.18.1 Build 260528" or similar
FW_VERSION=$(echo "${RESPONSE}" | grep -oiE '[0-9]+\.[0-9]+\.[0-9]+ Build [0-9]+' | head -1 || true)

if [ -z "${FW_VERSION}" ]; then
  echo "[!] Could not extract firmware version. Check manually."
  echo "[!] Log into http://${ROUTER_IP} -> System Tools -> Firmware Upgrade"
  echo "UNKNOWN"
  exit 2
fi

echo "[*] Detected firmware: ${FW_VERSION}"

# Extract build date (YYMMDD format)
BUILD_DATE=$(echo "${FW_VERSION}" | grep -oE '[0-9]{6}$' || true)

if [ -z "${BUILD_DATE}" ]; then
  echo "[!] Could not parse build date from firmware version"
  echo "UNKNOWN"
  exit 2
fi

# Patched builds are 260527 (JP) or 260528 (US/EU) and later
if [ "${BUILD_DATE}" -ge 260527 ] 2>/dev/null; then
  echo "[+] Firmware build ${BUILD_DATE} is at or above patched version (260527/260528)"
  echo "PATCHED"
  exit 0
else
  echo "[-] Firmware build ${BUILD_DATE} is BELOW patched version (260527/260528)"
  echo "VULNERABLE"
  exit 1
fi
07 · Bottom Line

If you remember one thing.

TL;DR
For most enterprise teams managing 10,000 hosts, CVE-2026-12935 requires no action — the TL-WR940N v6 is a consumer router that should not exist in your managed fleet. Start by querying your asset inventory and NAC logs for any TL-WR940N devices. If you find none, close the ticket and move on. If you discover units at branch offices or remote-worker locations, there is no noisgate mitigation SLA for MEDIUM — go straight to the 365-day remediation window by coordinating firmware updates to the patched builds (260527/260528). As a quick compensating control, block outbound RTSP (TCP 554) at your perimeter firewall, which neutralizes the attack vector entirely. Long-term, replace any consumer-grade routers with managed enterprise equipment that supports centralized patching.

Sources

  1. TP-Link Security Advisory for CVE-2026-12935
  2. THREATINT CVE-2026-12935 Record
  3. TP-Link Product Security Advisories
  4. TP-Link TL-WR940N v6 Firmware Downloads
  5. VulnCheck Initial Access — TL-WR940N Research
  6. CVE Details — TL-WR940N Firmware
  7. NVD — CVE-2025-6151 (related TL-WR940N buffer overflow)
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.