Skip to main content

pupnp CVE-2026-57488

| EUVDEUVD-2026-102930 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-10-16 GitHub_M
7.1
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain adjacent-network access to UPnP service
  2. Delivery
    Send HTTP request with Content-Length > INT_MAX
  3. Exploit
    Trigger strtol/long-to-int truncation in raw_to_int
  4. Execution
    Parser accepts mismatched body length
  5. Persist
    Smuggle second request or hang worker
  6. Impact
    Request desync or denial of service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires: (1) network reachability to a pupnp/libupnp HTTP endpoint from the adjacent/link-local segment (AV:A - UPnP is LAN-facing, not internet-exposed by default); (2) the target compiled on an LP64 system where long is 64-bit and int is 32-bit, so a Content-Length exceeding INT_MAX truncates or wraps in raw_to_int - on ILP32/32-bit builds the truncation condition does not arise the same way; and (3) for the request-smuggling impact specifically, a persistent (keep-alive) or proxied HTTP context where leftover bytes are reinterpreted as a subsequent request. The denial-of-service path is less constrained: a single oversized Content-Length can make a worker wait for a body that never arrives. No authentication is required (PR:N) and no user interaction (UI:N); the primary limiting factors are the adjacent-network reach and the 64-bit build precondition. Affected versions are prior to 2.0.2; the fix is 2.0.2.

Impact

This is a genuine but moderate-priority issue, best treated as an environment-dependent risk rather than an urgent fix. The CVSS 3.1 vector (AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H, 7.1 High) indicates an adjacent-network, low-complexity, unauthenticated attack with no confidentiality loss, limited integrity impact (I:L, consistent with request-smuggling-style parser disagreement) and high availability impact (A:H, consistent with the worker-hang denial-of-service path). The AV:A restriction to the adjacent/link-local segment is significant and realistic for pupnp, since UPnP is a LAN-facing protocol - this is not an internet-wide remotely exploitable flaw by default. No EPSS score, no CISA KEV listing, and no public POC were provided; the only source-code artifact is the vendor patch commit, which is a fix and not an exploit. The signals therefore align rather than conflict: a moderate-severity, hard-to-reach-from-the-internet bug with no evidence of active exploitation, best described as no public exploit identified at time of analysis. One caveat defenders should verify: the integer-truncation behavior requires an LP64 (64-bit long, 32-bit int) build, so 32-bit/ILP32 targets may not be affected the same way - confirm the build platform before assuming exposure.

Exploit ScenarioDerived

An attacker on the same LAN/adjacent network segment as a pupnp-based UPnP service (e.g. a router, NAS, or media device) sends an HTTP request with a Content-Length greater than INT_MAX. On a 64-bit (LP64) build the value truncates/wraps, so the parser accepts a body length differing from the declared value; in a persistent or proxied connection this leaves leftover bytes to be interpreted as a second smuggled request, or alternatively the worker blocks waiting for an enormous body and the service is denied. No public exploit code was identified at time of analysis.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 16, 2026

Integer overflow in pupnp's HTTP Content-Length parser (raw_to_int in upnp/src/genlib/net/http/httpparser.c) allows a remote adjacent-network attacker to desynchronize the parser from the declared body length on LP64 builds, enabling either request smuggling in persistent or proxied contexts or a denial of service by forcing a worker to wait for an oversized body. Affected are all pupnp releases prior to 2.0.2 across the whole CPE range cpe:2.3:a:pupnp:pupnp:*:*:*:*:*:*:*:*; no authentication (PR:N) and no user interaction (UI:N) are required, though exploitation is limited to adjacent/link-local reachability (AV:A) and to 64-bit builds where long is 64 bits and int is 32 bits. No public exploit identified at time of analysis; vendor-released patch: 2.0.2.

RemediationAI

Upgrade to pupnp 2.0.2 (release-2.0.2), which contains the fix commit de9602aef34ff722f3630d66c9be8eaa0aa9f012 that switches the Content-Length conversion to strtoll and rejects values above INT_MAX; the advisory GHSA-g6c2-x4r9-352g should be tracked for downstream distributor guidance. Because many appliances embed libupnp statically, rebuilding and reflashing the application (or awaiting firmware from the device vendor) is typically required rather than a simple package update. Where an immediate upgrade is not possible, compensating controls are: restrict adjacent-network exposure by firewalling SSDP/UPnP ports (UDP 1900, TCP 2869, and the device's HTTP port) to trusted segments so that only authorized hosts can reach the HTTP parser - this blocks the attack path entirely but can break UPnP discovery and control-point interoperability; disable HTTP keep-alive/persistent connections on the embedded HTTP server if the application permits, which removes the request-smuggling re-interpretation path but adds per-request handshake overhead; and front the service with a reverse proxy or rate limiter that enforces a maximum Content-Length and rejects oversized declarations before they reach pupnp, trading added latency and configuration complexity for protection. Note that preferring 32-bit/ILP32 builds is not a recommended mitigation, since it merely avoids the narrowing condition while leaving the underlying input-validation gap in place. No vendor-released patch alternative is identified for pre-2.0.2 branches; absence of a backport does not mean one is impossible, so check with the downstream distributor before assuming none exists.

Affected VersionsENISA

pupnp < 2.0.2

Affected Packages

euvd pupnp fix: 2.0.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is a CWE-190 integer overflow arising in pupnp's HTTP message parser. In raw_to_int, the Content-Length header value is converted with strtol into a long, and that long is then cast down to a 32-bit int before the caller stores it in an unsigned int. On LP64 platforms (Linux/macOS 64-bit, where sizeof(long)8 and sizeof(int)4) a declared length greater than INT_MAX is truncated or wrapped during the narrowing conversion, so the parser's internal notion of the body length no longer matches the value actually declared on the wire. The upstream fix replaces strtol with strtoll, widens the accumulator to long long, and adds an explicit upper-bound check against INT_MAX in addition to the existing negative and ERANGE checks, ensuring oversized Content-Length values are rejected rather than silently wrapped; the same commit also corrects the range sentinel handling from LONG_MIN/LONG_MAX to LLONG_MAX. The security consequence of the parser disagreement is twofold: leftover bytes can be reinterpreted as a following request when the connection is persistent (keep-alive) or when a proxy sits in front of the device, and a worker thread can be parked waiting for a body that will never be delivered, producing resource exhaustion. The condition is build-dependent - on ILP32/32-bit builds the narrowing described does not arise in the same way - and the UPnP stack is LAN-facing by default rather than internet-exposed.

Know when Pupnp gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 7.1 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
vuln.today AI 7.1 HIGH

UPnP is LAN-facing so AV:A; no auth or interaction needed (PR:N/UI:N); parser desync gives limited integrity (I:L) and worker-hang gives high availability impact (A:H); no data disclosure so C:N.

3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
4.0 AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
High

Lifecycle Timeline

2
Patch available
Oct 16, 2026 - 17:17 EUVD
CVE Published
Oct 16, 2026 - 15:34 cve.org
HIGH 7.1

DescriptionCVE.org

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.

Technical POC Analysis

CWE-190 (Integer Overflow or Wraparound), with CWE-444 (HTTP Request Smuggling) as the downstream consequence.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

An integer overflow in the pupnp (Portable UPnP SDK) HTTP Content-Length parser affects every release prior to 2.0.2, a library embedded in a wide range of network-attached products such as home and small-business routers, NAS appliances, media servers, and IoT gateways. On affected 64-bit builds, an attacker with adjacency to the network can desynchronize HTTP message parsing to smuggle requests through proxied or persistent connections, or tie up worker processes by demanding an oversized body, degrading or denying service without any credentials or user interaction. Leadership should care because the exposure sits in commodity network infrastructure that is rarely inventoried, frequently unpatchable at the device-vendor layer, and can serve as a pivot point for request-smuggling attacks against downstream services.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
widely embedded UPnP SDK in consumer routers, NAS and IoT, less so enterprise
Data Quality
4 sources
Confidence: Medium
EUVD NVD CVE.org Vulnrichment GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy