Skip to content
AdminKit

TR-069/CWMP (port 7547): why ISPs use it, and when it's a risk

TR-069, also called CWMP, is the protocol many ISPs use to remotely configure and update the router they gave you, running over port 7547 — genuinely useful for the ISP, but in November 2016 a flaw in how some routers handled TR-069's related TR-064 commands let a Mirai botnet variant knock roughly 900,000 Deutsche Telekom customers offline in a single weekend.

By AdminKit team, Netbase JSC · Updated October 22, 2026

What TR-069/CWMP is for

CWMP, the CPE WAN Management Protocol, is almost always referred to by the number of the technical report that defines it: TR-069. It exists to solve a real operational problem for ISPs — once a router or modem ships to a customer’s home, how does the ISP update its firmware, change its configuration, or diagnose a fault without sending a technician or walking a customer through settings over the phone? TR-069 answers that by letting the router periodically contact an Auto-Configuration Server (ACS) run by the ISP, over TCP port 7547, and accept management commands from it. For straightforward support operations — pushing a firmware patch to every deployed unit of a given model, for instance — it’s a genuinely useful piece of infrastructure, not a design mistake.

When it became a very public risk

In late November 2016, that same management channel became the entry point for one of the more dramatic ISP-facing incidents of the decade. As reported by WeLiveSecurity, roughly 900,000 Deutsche Telekom customers in Germany lost internet, phone and TV service over a single weekend after a Mirai botnet variant began scanning the internet for devices listening on port 7547 and sending them a crafted command over the related TR-064 protocol — a local configuration protocol that, on certain vulnerable router models, accepted unauthenticated commands capable of injecting and executing arbitrary code. Coverage from The Hacker News at the time confirmed the same mechanism: a modified version of the Mirai worm, previously known for large DDoS attacks built from compromised IoT devices, had pivoted to exploiting a router-management protocol instead of only brute-forcing Telnet logins.

Notably, Deutsche Telekom’s own routers weren’t actually susceptible to the code-injection flaw itself — they crashed from the sheer volume of malicious scanning and exploit-attempt traffic flooding their management interface, becoming collateral damage rather than successfully compromised devices. Other ISPs’ equipment, including Zyxel and Eir (Irish telecom) routers, were directly vulnerable to the underlying flaw. The academic analysis of the Mirai botnet situates this TR-069/TR-064 variant as part of Mirai’s broader evolution beyond its original Telnet-scanning behavior, expanding to whatever internet-reachable management interface a given device family exposed.

What makes port 7547 risky versus merely present

The protocol itself isn’t the vulnerability — a TR-069 connection from a router out to its ISP’s ACS, initiated by the router and restricted to the ISP’s own infrastructure, is standard practice across the industry. The risk comes from two conditions stacking together: port 7547 being reachable from the general internet rather than only the ISP’s management network, combined with a router implementation that handles inbound commands on that port insecurely. Either alone is a narrower problem; both together is what let a single botnet scan and compromise devices at scale in a few days.

How to check your own exposure

  1. Identify your current public IP using AdminKit’s what is my IP tool — this is the address any reachability test needs to target.
  2. Test whether port 7547 responds from outside your network with AdminKit’s port check tool. A response from the general internet (as opposed to only being reachable from your ISP’s own address ranges, which this type of test can’t fully distinguish) is worth following up on with your ISP directly.
  3. Ask your ISP what’s listening there and who can reach it. If you operate your own router instead of an ISP-provided one, TR-069 typically isn’t running on it at all, which sidesteps the question entirely.
  4. Keep router firmware current. Whether a management port is dangerous if reached depends heavily on whether the firmware behind it has been patched against known flaws like the one exploited in 2016.

Why a dynamic, often-shared IP changes what a result means

Many home routers running TR-069 also sit behind an ISP-assigned address that changes periodically or is shared across multiple customers via Carrier-Grade NAT — see our CGNAT guide for what that means in practice. That doesn’t make an exposed management port safe, but it does mean a single point-in-time scan of “the internet” for port 7547 may be hitting a different physical router each time it checks the same IP, which is part of why ISP-side firewalling, not just hoping nobody finds your address, is the durable fix.

This guide is general information, not a security audit of your specific network — see our disclaimer for what AdminKit's guidance does and does not commit to.

Frequently asked questions

What does TR-069/CWMP actually do?

CWMP (CPE WAN Management Protocol, commonly called TR-069 after the technical report that defines it) lets an ISP's Auto-Configuration Server remotely push firmware updates, change settings, and diagnose problems on the router or modem they provided you, without a technician visiting or you calling support for every change.

Is having TR-069 enabled on my router automatically a problem?

Not by itself — it's a legitimate, widely used management protocol, and a well-implemented ACS connection restricted to your ISP's own management network is a normal, reasonable thing to have running. The 2016 incident happened because specific router models mishandled a related command (TR-064) insecurely, and the management port was reachable from the broader internet, not just the ISP's network.

What actually happened in the 2016 Deutsche Telekom incident?

A Mirai botnet variant scanned the internet for devices listening on port 7547 and sent a crafted TR-064 command that could inject and execute code on vulnerable routers. Deutsche Telekom's specific routers weren't vulnerable to the code-injection itself, but the sheer volume of malicious scan traffic crashed roughly 900,000 of them anyway, as reported at the time by security outlets covering the incident.

How do I know if port 7547 is reachable from outside my ISP's network?

AdminKit's [port check](/tools/port-check/) tool can test whether a specific port on your public IP responds from outside, which is the direct way to find out whether your TR-069 management interface is reachable more broadly than it should be.

Can I just turn TR-069 off myself?

Usually not — on most ISP-provided routers, TR-069 management is configured by the ISP and isn't exposed as a setting you can toggle from the router's own admin page, since the ISP relies on it to manage the device remotely. If you're concerned about exposure, ask your ISP directly whether access is restricted to their management network, and consider replacing an ISP-managed router with your own hardware if you want full control.

Did the 2016 incident get fixed?

Yes — in the immediate aftermath, affected ISPs including Deutsche Telekom restricted public access to port 7547 and pushed firmware patches, and the underlying router vulnerability was catalogued and addressed by the affected vendors. The incident is widely cited as the reason most ISPs now firewall port 7547 from the general internet rather than leaving it openly reachable.

Want AdminKit to watch this for you?

Free checks tell you the state today. Protective DNS and monitoring tell you when it changes.