pupnp Content-Length integer truncation enables request smuggling
Key facts
- Attack vector
- Adjacent network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
pupnp, an SDK for UPnP device and control point applications, is affected before 2.0.2. On LP64 systems, raw_to_int casts a strtol-parsed Content-Length to a 32-bit int, so values above INT_MAX can truncate or wrap, letting the HTTP parser accept a body length different from the declared one (CWE-190, CWE-444). A remote peer on an adjacent network can exploit this parser disagreement to get bytes interpreted as a second request in persistent or proxied connections, or make a worker wait for an extremely large body, causing denial of service. CVSS 3.1 base score 7.1 (HIGH); a public proof of concept is referenced, but CISA has not added the issue to KEV.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade pupnp to 2.0.2 or later, which fixes the issue. Until then, restrict access to the UPnP HTTP service to trusted networks.
Written with Claude Haiku 5.5 from the sources below · 2026-11-06
- Fix · CNA pupnp (pupnp) Fixed in 2.0.2
Vendor assessments
Timeline
- 2026-10-16 Threatist record created from CVE-2026-57488
- 2026-10-18 CISA SSVC decision points changed
- 2026-11-06 Affected versions changed · Red Hat
- 2026-11-06 CVSS score added · Red Hat
References
More Pupnp vulnerabilities
- TI-2026-75352 pupnp: NULL pointer dereference in ixmlNode_compare, non-namespaced attributes CVSS 3.1HIGH 7.5
- TI-2026-75349 Uncontrolled recursion in pupnp DOM functions causes stack overflow CVSS 3.1MEDIUM 6.5
- TI-2021-10175 DNS rebinding in pupnp CVSS 3.1CRITICAL 9.8
- TI-2026-75358 Blocking DNS lookups in pupnp allow denial of service CVSS 3.1HIGH 7.5
- TI-2026-75353 Chunked HTTP bodies in libupnp bypass the size limit CVSS 3.1HIGH 7.5
- TI-2021-09467 A stack overflow in pupnp before version 1.14.5 can cause the denial of service through… CVSS 3.1HIGH 7.5
Sources
- CVE-2026-57488 · CVE Program
- CVE-2026-57488 · NVD
- FIRST EPSS
- CVE-2026-57488 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences