Skip to main content

pupnp EUVDEUVD-2026-102927

| CVE-2026-55862 MEDIUM
Uncontrolled Recursion (CWE-674)
2026-10-16 GitHub_M
6.5
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 host
  2. Exploit
    Send SOAP request with deeply nested XML
  3. Execution
    Trigger unbounded recursion in ixml DOM traversal
  4. Impact
    Exhaust service-thread stack and crash service

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Recursion depth limits
Exploitation Conditions

Exploitation requires network reachability to a pupnp (libupnp) UPnP service that accepts and parses SOAP requests, with the attacker positioned on the same local/adjacent network segment (AV:A) - no authentication or user interaction is needed against default configurations. The specific trigger is supplying XML nested deeply enough to drive the recursive ixml traversal functions (ixmlPrintDomTreeRecursive in ixml/src/ixml.c; ixmlNode_getElementsByTagNameRecursive, ixmlNode_getElementsByTagNameNSRecursive, ixmlNode_cloneNodeTreeRecursive, ixmlNode_isAncestor in ixml/src/node.c) into stack exhaustion. Limiting factors: the attacker must be on the local/adjacent network (not internet-routable by default), the impact is confined to crashing a service thread (availability only, no code execution or data exposure), and hosts running pupnp 2.0.0 or later are not affected.

Impact

This is a moderate-severity denial-of-service issue (CVSS 6.5, CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) whose only impact is availability - a crashed UPnP service thread - with no confidentiality or integrity consequence (C:N/I:N). The CVSS signals are internally consistent and align with the description: AV:A matches the stated 'unauthenticated peer on the local network', PR:N matches 'unauthenticated', and A:H matches 'crash the UPnP service'. No EPSS score, KEV listing, or public exploit was provided in the input, so there is no evidence of active exploitation or widespread weaponization; this is a low-urgency issue by exploitation signals. The one aggravating factor is that it is an incomplete-fix case for CVE-2021-28302 (the 2021 remediation converted ixmlNode_free but left ixmlPrintDomTreeRecursive, ixmlNode_getElementsByTagNameRecursive/NSRecursive, ixmlNode_cloneNodeTreeRecursive, and ixmlNode_isAncestor recursive), meaning the root CWE-674 class was known and previously under-remediated. The key limiter is the adjacent-network attack vector (AV:A): exploitation requires local/same-segment access, not internet reachability, so this is a priority primarily for environments where untrusted devices share the LAN (consumer, IoT, guest networks) rather than internet-facing exposure. Overall: a real but bounded issue - patch it, but it is not a high-CVSS, high-real-risk emergency.

Exploit ScenarioDerived

An unauthenticated attacker on the same local network sends a crafted SOAP request containing XML nested thousands of levels deep to a device running a pupnp-based UPnP service. When the service parses and traverses the DOM (e.g., via ixmlPrintDomTreeRecursive or the getElementsByTagName traversal paths), the unbounded recursion over firstChild/nextSibling links exhausts the service thread's stack and crashes it. No public exploit code was identified in the input, though the fix commit publicly documents the vulnerable traversal paths.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 16, 2026

Stack exhaustion in pupnp (libupnp) before 2.0.0 allows an unauthenticated attacker on the local or adjacent network to crash a UPnP service thread by delivering a SOAP request whose XML body is nested deeply enough to exhaust the stack inside the library's recursive ixml DOM traversal functions. The issue is rated CVSS 6.5 (CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H) and affects availability only, with no confidentiality or integrity impact; hosts running 2.0.0 or later are not affected. This is an incomplete-fix case for CVE-2021-28302, and no public exploit code was identified at time of analysis.

RemediationAI

Vendor-released patch: upgrade pupnp (libupnp) to 2.0.0, which is published at https://github.com/pupnp/pupnp/releases/tag/release-2.0.0 and contains the iterative traversal rewrite in commit 82ccaec7ab6b1258ea1ac66374d8940712ccd4c4; recompile or relink any application or firmware embedding libupnp against 2.0.0 or later, since patching the library alone does not help statically linked deployments. Where upgrading is not immediately possible, apply compensating controls that reduce the attack surface, understanding their trade-offs: restrict the UPnP/SSDP and SOAP HTTP listeners to trusted segments with host or network firewalling (UPnP discovery and control stop working for clients outside the allowed range); disable the UPnP service entirely on devices that do not require it (removes the feature but also the exposure); and, because the crash is a thread-level failure rather than process exit, run the UPnP daemon under a supervisor configured to restart on failure (for example systemd Restart=on-failure), accepting a brief availability gap and the risk that repeated crashes mask a broader fault. Deploying a front-end proxy or filter that rejects excessively nested XML would mitigate the trigger, but requires the attacker's request path to traverse that component and adds latency and configuration complexity. Review the advisory at https://github.com/pupnp/pupnp/security/advisories/GHSA-25cx-xv8x-j247 for any vendor-published interim guidance.

Affected VersionsENISA

pupnp < 2.0.0

Affected Packages

euvd pupnp fix: 2.0.0

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 (libupnp) is the reference SDK for building UPnP device and control-point applications, and it embeds ixml, a DOM-style XML parser. CWE-674 (uncontrolled recursion) is the root cause here: the iterative parser accepts deeply nested documents, but multiple traversal routines walk firstChild and nextSibling links using native recursion, so document depth maps directly onto C call-stack depth. The affected functions are ixmlPrintDomTreeRecursive in ixml/src/ixml.c and ixmlNode_getElementsByTagNameRecursive, ixmlNode_getElementsByTagNameNSRecursive, ixmlNode_cloneNodeTreeRecursive and ixmlNode_isAncestor in ixml/src/node.c. CVE-2021-28302 previously exposed the same class of bug and was remediated only for ixmlNode_free, leaving these traversal paths recursive; the fix commit (82ccaec7ab6b1258ea1ac66374d8940712ccd4c4) rewrites the DOM printing routine into an iterative loop that tracks a parent fence node and an ascending/descending state, and processes attribute chains with a simple iterative walk, eliminating the unbounded recursion. The CPE cpe:2.3:a:pupnp:pupnp:*:*:*:*:*:*:*:* covers all releases prior to the 2.0.0 tag. Because the trigger is reached through a SOAP request parsed by the UPnP stack, the attack surface is the library's XML handling path rather than a specific product-specific endpoint, which is why device and control-point applications built on libupnp inherit the exposure.

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

Unauthenticated adjacent-network peer (AV:A/PR:N/UI:N) reliably triggers stack-exhaustion recursion via SOAP XML (AC:L); impact is service crash only, so C:N/I:N/A:H.

3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:A/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
Adjacent
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:32 cve.org
MEDIUM 6.5

DescriptionCVE.org

pupnp is an SDK for development of UPnP device and control point applications. Prior to 2.0.0, multiple ixml DOM traversal functions process deeply nested XML with unbounded recursion. The iterative XML parser accepts the document, but ixmlPrintDomTreeRecursive in ixml/src/ixml.c and ixmlNode_getElementsByTagNameRecursive, ixmlNode_getElementsByTagNameNSRecursive, ixmlNode_cloneNodeTreeRecursive, and ixmlNode_isAncestor in ixml/src/node.c recurse over firstChild and nextSibling links. An unauthenticated peer on the local network can supply deeply nested XML through a SOAP request, exhaust a service thread's stack, and crash the UPnP service. This is an incomplete-fix case for CVE-2021-28302 because its remediation converted ixmlNode_free but left these traversal paths recursive. This issue is fixed in 2.0.0.

Threat Intelligence Overview

Prevalence
High
pupnp/libupnp is a widely embedded UPnP SDK in routers, NAS, and IoT devices
Data Quality
5 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 MEDIUM
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
Poc
System Exposure· derived
Controlled
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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