Skip to main content

pupnp CVE-2026-57487

| EUVDEUVD-2026-102929 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-10-16 GitHub_M
7.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Reach pupnp HTTP endpoint over network
  2. Delivery
    Send Transfer-Encoding: chunked request/response
  3. Exploit
    Stream oversized decoded chunked body
  4. Execution
    Bypass g_maxContentLength entity limit
  5. Impact
    Exhaust process memory causing denial of service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

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

Exploitation Conditions

Exploitable when the pupnp process handles an HTTP message with Transfer-Encoding: chunked on any of the SOAP, GENA, miniserver, or control-point response paths in http_RecvMessage - i.e. default-enabled functionality, not a special configuration. The decoded chunked body is accumulated in parser->msg.entity without enforcing g_maxContentLength, so an attacker simply needs network reachability to the service and the ability to send chunked-encoded data. Limiting factors: the target must run a pupnp version prior to 2.0.2 and expose a reachable UPnP HTTP endpoint (often LAN-scoped on embedded devices, which constrains exposure to the local network segment unless the service is intentionally internet-facing); impact is confined to availability with no auth bypass or code execution.

Impact

All signals point to a genuine but impact-limited issue. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N) is confirmed and credible: a remote, unauthenticated peer can reach the vulnerable HTTP response paths with low complexity and no user interaction, and the source-code diff corroborates the root cause (the g_maxContentLength guard in http_RecvMessage only checked parser->content_length, not the accumulated parser->msg.entity.length for chunked bodies). However, impact is strictly availability (C:N/I:N/A:H, CWE-770 resource exhaustion) - there is no code execution or data exposure, so the 7.5 'High' reflects a pure DoS ceiling, not a critical compromise. No EPSS score, KEV listing, or public POC was provided in the input, so there is no evidence of active exploitation or weaponization; the vulnerability was reported through a coordinated GitHub Security Advisory (GHSA-gcj7-j9f7-q84c) with a fix already shipped in 2.0.2. Net priority: patch promptly on internet-reachable or multi-tenant UPnP services because exploitation is cheap and unauthenticated, but this is not a high-urgency RCE - the realistic worst case is a crashed or memory-starved UPnP process.

Exploit ScenarioDerived

A remote attacker who can reach a pupnp-based service's HTTP endpoint (SOAP action, GENA subscription/notify, miniserver, or control-point response path) sends a request or response using Transfer-Encoding: chunked with a very large decoded body. Because the chunked path never updates content_length, the pre-2.0.2 size check is bypassed and the process buffers an entity far exceeding g_maxContentLength, exhausting memory and denying service. No public exploit code was identified at time of analysis, and no authentication or user interaction is required.

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

Denial of service in pupnp (the portable UPnP SDK) versions prior to 2.0.2 allows unauthenticated remote attackers to exhaust process resources by sending HTTP messages that use Transfer-Encoding: chunked, which the internal parser decodes and buffers without ever enforcing the configured g_maxContentLength limit on the decoded entity. The flaw is reachable through default-enabled SOAP, GENA, miniserver, and control-point HTTP response paths, so any host that can reach a pupnp-based UPnP endpoint - commonly other devices on the same LAN segment - can trigger memory/resource exhaustion with no authentication or user interaction (CVSS:3.1 7.5, AV:N/AC:L/PR:N/UI:N, availability-only impact). No public exploit code has been identified at time of analysis and the issue is not confirmed as actively exploited; the vendor has shipped a fix in release 2.0.2.

RemediationAI

Vendor-released patch: upgrade to pupnp 2.0.2 (tag release-2.0.2), which contains commit 9ff9bc583ad8ee4ba022634434a7b71db9bd96e1 and appends parser->msg.entity.length > g_maxContentLength to both enforcement points in http_RecvMessage; see the advisory at https://github.com/pupnp/pupnp/security/advisories/GHSA-gcj7-j9f7-q84c. For embedded products where the SDK is bundled by an OEM, apply the corresponding vendor firmware update rather than attempting to patch the library in place; if the OEM has not shipped a build, treat the device as unpatched. Where upgrading is not immediately possible, the effective compensating controls are network-scope reductions rather than parser tweaks: block TCP access to the UPnP HTTP endpoints (typically the device description/miniserver and control ports) and SSDP discovery (UDP 1900) from untrusted networks, and place the device behind a reverse proxy or firewall that rejects or de-chunks Transfer-Encoding: chunked requests before forwarding, which restores the Content-Length cap path and prevents the unchecked accumulation; the trade-off is that UPnP control and discovery stop working across the filtered boundary, so this is viable only for devices that do not require cross-segment control. Lowering the process's memory/resource limits via cgroups or rlimits reduces the severity of exhaustion but does not eliminate the defect and may degrade legitimate operation under load. Note that no public exploit code has been identified at time of analysis, and none of these workarounds has been independently validated against the vulnerable build.

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

pupnp is a C SDK used to build UPnP device and control-point applications, and its HTTP messaging layer lives in upnp/src/genlib/net/http/. The parser at httpparser.c handles two body framing modes: a numeric Content-Length and chunked transfer encoding. For the numeric path, parser->content_length is populated and the callers in http_RecvMessage (httpreadwrite.c) compare it against the global g_maxContentLength, rejecting oversized bodies. For the chunked path, parser_parse_chunky_entity and parser_parse_chunky_body decode each chunk and append the decoded bytes to parser->msg.entity while leaving parser->content_length at zero, so the existing g_maxContentLength guards never fire. The result is the classic CWE-770 (Allocation of Resources Without Limits or Throttling) pattern: two code paths enforce a resource cap and a third equivalent path does not. The upstream commit 9ff9bc583ad8ee4ba022634434a7b71db9bd96e1 corrects this by extending both size checks in http_RecvMessage to also test parser->msg.entity.length against g_maxContentLength, restoring symmetry between the Content-Length and chunked framing paths. Because the vulnerable code is in shared HTTP receive logic, every protocol surface built on it - SOAP action handling, GENA eventing, the device miniserver, and control-point response processing - inherits the weakness.

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.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 7.5 HIGH

Remote unauthenticated peer triggers the flaw over the network with low complexity and no interaction; impact is pure resource-exhaustion DoS, so A:H with C:N/I:N.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

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

DescriptionCVE.org

pupnp is an SDK for development of UPnP device and control point applications. Prior to 2.0.2, Transfer-Encoding: chunked causes the HTTP parser in upnp/src/genlib/net/http/httpparser.c to leave parser->content_length at zero while parser_parse_chunky_entity and parser_parse_chunky_body accumulate decoded bytes in parser->msg.entity. The g_maxContentLength checks in http_RecvMessage in upnp/src/genlib/net/http/httpreadwrite.c therefore reject oversized numeric Content-Length bodies but do not enforce the same limit on decoded chunked bodies. A remote peer that can reach a SOAP, GENA, miniserver, or control-point HTTP response path can make the process buffer an entity larger than the configured maximum, causing resource exhaustion and denial of service. This issue is fixed in 2.0.2.

Technical POC Analysis

Weakness class: CWE-770 (Allocation of Resources Without Limits or Throttling).

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

A denial-of-service weakness in pupnp, the portable UPnP SDK embedded in many networked devices and IoT products, allows any unauthenticated host on the same network segment to exhaust memory and processing resources on affected endpoints, degrading or taking devices and their dependent services offline. Because the vulnerable SOAP, GENA, miniserver, and control-point HTTP paths are enabled by default, the exposure is likely broad and inherited by every product that embeds the library rather than confined to one application. Leadership should care because availability of LAN-connected devices, building controls, and customer premises equipment may hinge on third-party firmware updates the organization does not control directly.

Business Impact: Medium
Compensating Controls

Upstream pupnp 2.0.2 is identified in the advisory as containing the fix, but no vendor-released patch for the shipping products was identified in the provided context, so interim mitigations are required: disable UPnP, SOAP, GENA, miniserver, and control-point services where not operationally necessary; restrict UPnP HTTP endpoints to trusted LAN segments with firewall or ACL rules; rate-limit or inspect HTTP traffic carrying Transfer-Encoding: chunked toward affected devices; and enable process memory limits, watchdog restarts, and resource-exhaustion alerting on affected endpoints until a product-specific fix is available.

Threat Intelligence Overview

Prevalence
High
portable UPnP SDK embedded in many routers, IoT and media devices
Data Quality
4 sources
Confidence: Medium

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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
Medium

Priority Score

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

Attack Technique

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