Description
pupnp is an SDK for development of UPnP device and control point applications. Prior to 2.0.2, raw_to_int in upnp/src/genlib/net/http/httpparser.c parses Content-Length with strtol and casts the resulting long to a 32-bit int before the caller stores it as unsigned int. On LP64 systems, values greater than INT_MAX can truncate or wrap, so the HTTP parser can accept a body length different from the declared value. A remote adjacent-network peer can use the resulting parser disagreement to leave bytes to be interpreted as another request in persistent or proxied contexts, or can make a worker wait for an extremely large body and cause denial of service. This issue is fixed in 2.0.2.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| pupnp | pupnp | < 2.0.2 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | pupnp | 1:22.1.8-2 | — |
| Debian 13 | pupnp | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | pupnp | No fix yet | — |
| Ubuntu 26.04 LTS | pupnp | No fix yet | — |
| Ubuntu 24.04 LTS | pupnp | No fix yet | — |
| Ubuntu 22.04 LTS | pupnp-1.8 | No fix yet | — |
| Ubuntu 20.04 LTS | pupnp-1.8 | No fix yet | — |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | libupnp +1 | No fix yet | — |
| Ubuntu 16.04 LTS | mediatomb | No fix yet | — |
| Ubuntu Pro 16.04 LTS | libupnp | No fix yet | — |