Someone left the front gate of every subscriber's house wide open, but your office is across town
CVE-2026-75501 is a missing-authentication flaw in the Calix GS7 XGS (GS5239XG) residential fiber gateway running firmware EXOS/6.6.47. The router's MiniUPnPd 2.3.7 control endpoint binds to the WAN interface on TCP port 5000 without any access control. Any unauthenticated remote attacker can send SOAP requests to add, delete, or enumerate NAT port-forwarding rules — effectively punching persistent holes through the subscriber's firewall to expose internal LAN devices (cameras, NAS, IoT) to the public internet. The flaw was discovered by researcher Brian Khan Quintana, reported to CERT/CC as VU#756733 after Calix failed to respond to direct disclosure on June 7, and published on August 21, 2026. There is no patch available and no vendor acknowledgment.
There is no vendor CVSS score to compare against, so noisgate is establishing the first assessment. The unauthenticated-remote, zero-click nature of the attack is genuinely nasty — CVSS math alone would push this toward HIGH (≈7.5 AV:N/AC:L/PR:N/UI:N/S:C). However, the actual *impact* is narrower than RCE: the attacker cannot execute code on the router, cannot intercept traffic, and cannot move laterally without a second vulnerability in a LAN device behind the NAT. For enterprise security teams, this is a consumer CPE device outside your asset inventory. The blast radius is per-household, not per-fleet. The practical risk is that remote workers behind affected ISPs (Cox, Brightspeed, ALLO, CityFibre, Conexon) have their home LAN partially exposed — but corporate laptops with host firewalls and VPN/ZTNA remain protected by their own controls.
4 steps from start to impact.
Discover exposed UPnP endpoint
/rootDesc.xml path. No authentication is required; the endpoint is world-reachable by default on all affected firmware.- Target router runs EXOS/6.6.47 with UPnP enabled (factory default)
- TCP 5000 reachable from the internet (no upstream ISP filter)
- Some ISPs may already filter TCP 5000 at the carrier edge
- Only affects subscribers on ISPs deploying this specific Calix model
MiniUPnPd on port 5000 would surface exposed population. No signature in commercial vuln scanners yet.Enumerate existing port mappings
GetGenericPortMappingEntry SOAP request to list all current NAT rules. This reveals internal IP addresses, port numbers, and protocols of devices behind the router — providing a map of the subscriber's home network topology without touching a single LAN device.- Step 1 completed successfully
- Enumeration reveals IPs but not device types or vulnerabilities
Create malicious port-forwarding rule
AddPortMapping SOAP request to forward an external port to an internal device (e.g., forward WAN:8443 → 192.168.1.50:443). The mapping persists across router reboots. Multiple mappings can be created to expose multiple internal devices simultaneously.- Internal device IP and target port known or guessed from Step 2
- Attacker must guess or enumerate which internal services are worth targeting
- Many home devices run on default ports, reducing this friction
Exploit exposed internal device
- Internal device has an exploitable service (separate vuln required)
- Corporate laptop would need exposed LAN services without host firewall
- Corporate devices with host firewalls, EDR, and VPN/ZTNA are not exposed by this NAT bypass alone
- IoT devices are more vulnerable but typically not enterprise-managed assets
The supporting signals.
| In-the-wild exploitation | No confirmed active exploitation. No KEV listing. No known campaigns targeting this CVE as of 2026-08-25. |
|---|---|
| Proof of concept | The CERT/CC advisory (VU#756733) describes the SOAP request methodology in sufficient detail to constitute a functional PoC. Standard UPnP tools (upnpc, miranda) can exploit this trivially. No dedicated exploit repo identified yet. |
| EPSS | 0.00368 (low — bottom quartile). Reflects the consumer CPE context and lack of direct code execution. |
| KEV status | Not listed as of 2026-08-25. |
| CVSS vector (noisgate estimate) | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N — estimated 7.2. Scope is Changed because the vuln in the router exposes devices behind it. Integrity impact is Low (NAT rules modified, not arbitrary code). No availability impact to the router itself. |
| Affected versions | Calix GS7 XGS (GS5239XG) running firmware EXOS/6.6.47. Other firmware versions not confirmed affected or unaffected. |
| Fixed version | None available. Calix has not responded to disclosure. No patch timeline provided. |
| Exposure data | No published Shodan/Censys/GreyNoise data specific to this CVE. TCP 5000 scanning for MiniUPnPd would reveal the exposed population. ISPs deploying this model include Cox, Brightspeed, ALLO, CityFibre, and Conexon — primarily U.S. residential fiber subscribers. |
| Disclosure date | 2026-08-21 (CERT/CC VU#756733). Vendor notified 2026-07-07 (first attempt 2026-06-07). |
| Researcher | Brian Khan Quintana, reported via CERT/CC Coordination Center. |
noisgate verdict.
The single most decisive factor is that this is a consumer residential CPE device outside enterprise asset inventory — the blast radius is per-household NAT bypass, not enterprise fleet compromise, and exploitation requires a second independent vulnerability in an internal LAN device to achieve meaningful impact. No code execution is achieved on the router itself, and corporate endpoints behind these routers remain protected by host firewalls, EDR, and VPN/ZTNA.
Why this verdict
- Unauthenticated remote access with zero friction: AV:N/AC:L/PR:N/UI:N — the attack requires only a TCP connection to port 5000. This is the strongest upward factor and prevents a LOW rating.
- No code execution — NAT rule manipulation only: The attacker can create/delete port forwarding rules but cannot execute code on the router, intercept traffic, or directly compromise any device. Impact requires chaining with a separate vulnerability on an internal device.
- Consumer CPE, not enterprise infrastructure: This is a residential fiber gateway deployed by ISPs to home subscribers. Enterprise security teams do not own, manage, or patch these devices. The asset is outside the enterprise perimeter and inventory.
- Role multiplier: The Calix GS7 XGS is a residential ONT/router. It does not occupy any high-value enterprise role (not a DC, hypervisor, PAM, CI/CD, backup, or enterprise network edge appliance). For ISPs, it is CPE — but the vuln grants NAT manipulation, not management-plane access. The blast radius is *per-subscriber-household*, not fleet-scale. The high-value role floor does not apply.
- No patch available, but mitigation exists: UPnP can be disabled via the admin UI (Advanced → Security → UPnP). ISPs can also filter TCP 5000 at the carrier edge. The lack of a patch is a concern but the mitigation is straightforward.
Why not higher?
The vulnerability does not achieve code execution on the router or any downstream device. It only manipulates NAT rules, requiring a separate exploitable service on an internal LAN device for real impact. The affected device is consumer CPE outside enterprise control, and corporate endpoints are independently protected by host firewalls, EDR, and ZTNA. No active exploitation or KEV listing elevates urgency.
Why not lower?
The attack is unauthenticated, remote, zero-click, and trivially exploitable with standard UPnP tooling. Port mappings persist across reboots. There is no vendor patch and no vendor acknowledgment. For enterprises with significant remote workforces on affected ISPs (Cox, Brightspeed), the exposure of home LAN environments — even indirectly — warrants tracking and advisory communication rather than outright dismissal.
What to do — in priority order.
- Issue advisory to remote workers on affected ISPs to disable UPnP — Instruct employees on Cox, Brightspeed, ALLO, CityFibre, and Conexon to navigate to Advanced → Security → UPnP in their router admin panel and disable UPnP. This eliminates the attack surface entirely. Since this is a MEDIUM verdict, there is no mitigation SLA — this falls under the 365-day remediation window, but given the zero-day status, issuing the advisory promptly is prudent.
- Verify host firewall policy on corporate endpoints — Ensure Windows Firewall / macOS Application Firewall / iptables policies on corporate-managed devices block unsolicited inbound connections on all interfaces, not just public profiles. This ensures that even if a NAT hole is punched to a corporate laptop's LAN IP, no service is reachable.
- Confirm VPN/ZTNA is enforced for remote access — Corporate resources should only be reachable via VPN or ZTNA — never via direct LAN-routable connections. Validate that split-tunnel configurations don't expose management ports on the LAN interface.
- Request ISP-level TCP 5000 filtering for managed accounts — If your organization has managed ISP accounts (e.g., corporate-sponsored home broadband), request that the ISP filter inbound TCP 5000 at the carrier edge. This blocks exploitation without requiring end-user action.
- Enterprise vulnerability scanners — these devices are not in your asset inventory and cannot be scanned. Qualys/Tenable/Rapid7 will not detect this.
- Network IDS/IPS at the corporate edge — the exploitation occurs at the employee's home router, not at the corporate perimeter. Your Suricata/Snort rules won't see this traffic.
- MDM/UEM policies — mobile device management controls the endpoint OS, not the home router. MDM cannot disable UPnP on a Calix gateway.
Crowdsourced verification payload.
Run this from any Linux/macOS workstation (or WSL) against the WAN IP of a suspected Calix GS7 XGS router. No special privileges required. Usage: bash check_cve_2026_75501.sh <WAN_IP>
#!/usr/bin/env bash
# check_cve_2026_75501.sh — Test for CVE-2026-75501 (Calix GS7 XGS UPnP WAN exposure)
# Usage: bash check_cve_2026_75501.sh <WAN_IP>
# Requires: curl
# Exit codes: 0=VULNERABLE, 1=PATCHED/NOT_AFFECTED, 2=UNKNOWN
set -euo pipefail
if [ $# -lt 1 ]; then
echo "Usage: $0 <WAN_IP>"
exit 2
fi
TARGET="$1"
PORT=5000
TIMEOUT=5
# Step 1: Check if TCP 5000 is open
if ! curl -s --connect-timeout "$TIMEOUT" -o /dev/null -w '' "http://${TARGET}:${PORT}/" 2>/dev/null; then
echo "PATCHED — TCP port ${PORT} is not reachable on ${TARGET}. UPnP endpoint not exposed."
exit 1
fi
# Step 2: Request UPnP root device description
RESP=$(curl -s --connect-timeout "$TIMEOUT" "http://${TARGET}:${PORT}/rootDesc.xml" 2>/dev/null || true)
if echo "$RESP" | grep -qi 'MiniUPnPd'; then
echo "VULNERABLE — MiniUPnPd root description found on WAN interface ${TARGET}:${PORT}."
echo " Device is exposing UPnP WANIPConnection service to the internet."
echo " Recommendation: Disable UPnP via router admin (Advanced > Security > UPnP)."
exit 0
elif echo "$RESP" | grep -qi 'UPnP\|WANIPConnection\|serviceType'; then
echo "VULNERABLE — UPnP service descriptors found on WAN interface ${TARGET}:${PORT}."
exit 0
else
echo "UNKNOWN — Port ${PORT} is open but UPnP descriptors not recognized. Manual verification needed."
exit 2
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.