CVE-2020-12695

7.5 HIGH

📋 TL;DR

CallStranger is a UPnP vulnerability that allows attackers to abuse subscription requests to perform SSRF attacks, port scanning, and DDoS amplification. It affects any device or software implementing the vulnerable UPnP specification before April 2020. This includes IoT devices, routers, media servers, and various network-enabled consumer electronics.

💻 Affected Systems

Products:
  • Any device/software using UPnP protocol
Versions: All implementations using UPnP specification before 2020-04-17
Operating Systems: All operating systems with UPnP enabled
Default Config Vulnerable: ⚠️ Yes
Notes: Devices with UPnP enabled by default are most vulnerable. Consumer routers, IoT devices, smart TVs, media servers, and network printers are commonly affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could use vulnerable devices as SSRF proxies to attack internal networks, perform DDoS amplification attacks against third parties, or use them for port scanning and network reconnaissance.

🟠

Likely Case

Most commonly exploited for DDoS amplification attacks and network scanning, potentially leading to service disruption and information disclosure about internal network topology.

🟢

If Mitigated

With proper network segmentation and UPnP disabled on perimeter devices, impact is limited to internal network reconnaissance within segmented zones.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Multiple proof-of-concept tools available on GitHub. Exploitation requires network access to UPnP service but no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: UPnP specification version after 2020-04-17

Vendor Advisory: https://openconnectivity.org/developer/specifications/upnp-resources/upnp/

Restart Required: Yes

Instructions:

1. Update UPnP implementation to compliant version. 2. Check vendor-specific patches for your devices. 3. Apply firmware updates to affected devices. 4. Restart services/devices after patching.

🔧 Temporary Workarounds

Disable UPnP on perimeter devices

all

Disable Universal Plug and Play on internet-facing routers and firewalls

Varies by device - typically in router admin interface under UPnP settings

Network segmentation

all

Segment UPnP-enabled devices from critical infrastructure

🧯 If You Can't Patch

  • Implement strict egress filtering to block UPnP traffic from reaching the internet
  • Deploy network monitoring to detect CallStranger exploitation attempts

🔍 How to Verify

Check if Vulnerable:

Use the CallStranger detection tool from GitHub: python3 callstranger.py --host [target_ip]

Check Version:

Check UPnP implementation version or device firmware version against vendor advisories

Verify Fix Applied:

Run detection tool again after patching - should return 'NOT VULNERABLE'

📡 Detection & Monitoring

Log Indicators:

  • Unusual UPnP subscription requests
  • SSDP traffic to unexpected destinations
  • High volume of UPnP NOTIFY messages

Network Indicators:

  • UPnP traffic crossing network segments
  • SSDP requests with callback URLs to external networks
  • Amplified traffic from UPnP devices

SIEM Query:

source_port=1900 AND (dest_ip NOT IN internal_ranges) OR (protocol=SSDP AND size>threshold)

🔗 References

📤 Share & Export