Intel

AIKIDO-2026-31494

async-upnp-client is vulnerable to Server-Side Request Forgery (SSRF)

Server-Side Request Forgery (SSRF)GHSA-94v4-2fvf-ff8p Published 5 days ago

31

Low Risk

This Affects:

PYTHONasync-upnp-client
0.9.0 - 0.47.0
Fixed in 0.47.1
Are you affected? Scan for Free

TL;DR

The UPnP client factory consumes service controlURL, SCPDURL, and eventSubURL values from a device description without verifying they point to the device's own host, and SSDP discovery location validation relies on substring matching. A rogue or compromised UPnP device on the network can supply crafted or obfuscated URLs that resolve to loopback, unspecified, or IPv4 link-local cloud-metadata addresses. This can steer the client into issuing requests to internal services it should not reach, resulting in server-side request forgery. The fix validates that service URL elements resolve to the device's own host and parses discovery locations with proper URL/IP parsing that rejects obfuscated internal addresses.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range.

Background info

async-upnp-client is vulnerable to Server-Side Request Forgery (SSRF) in versions 0.9.0 - 0.47.0.

How to fix this

Upgrade the async-upnp-client library to the patch version.